]> Zhao Yanbai Git Server - minix.git/commitdiff
Setup tweaks; bzip import
authorBen Gras <ben@minix3.org>
Tue, 2 Aug 2005 08:57:26 +0000 (08:57 +0000)
committerBen Gras <ben@minix3.org>
Tue, 2 Aug 2005 08:57:26 +0000 (08:57 +0000)
60 files changed:
commands/Makefile
commands/bzip2-1.0.3/CHANGES [new file with mode: 0644]
commands/bzip2-1.0.3/LICENSE [new file with mode: 0644]
commands/bzip2-1.0.3/Makefile [new file with mode: 0644]
commands/bzip2-1.0.3/Makefile-libbz2_so [new file with mode: 0644]
commands/bzip2-1.0.3/README.COMPILATION.PROBLEMS [new file with mode: 0644]
commands/bzip2-1.0.3/README.MINIX [new file with mode: 0644]
commands/bzip2-1.0.3/README.ORIGINAL [new file with mode: 0644]
commands/bzip2-1.0.3/README.XML.STUFF [new file with mode: 0644]
commands/bzip2-1.0.3/Y2K_INFO [new file with mode: 0644]
commands/bzip2-1.0.3/blocksort.c [new file with mode: 0644]
commands/bzip2-1.0.3/bz-common.xsl [new file with mode: 0644]
commands/bzip2-1.0.3/bz-fo.xsl [new file with mode: 0644]
commands/bzip2-1.0.3/bz-html.xsl [new file with mode: 0644]
commands/bzip2-1.0.3/bzdiff [new file with mode: 0644]
commands/bzip2-1.0.3/bzdiff.1 [new file with mode: 0644]
commands/bzip2-1.0.3/bzgrep [new file with mode: 0644]
commands/bzip2-1.0.3/bzgrep.1 [new file with mode: 0644]
commands/bzip2-1.0.3/bzip.css [new file with mode: 0644]
commands/bzip2-1.0.3/bzip2.1 [new file with mode: 0644]
commands/bzip2-1.0.3/bzip2.1.preformatted [new file with mode: 0644]
commands/bzip2-1.0.3/bzip2.c [new file with mode: 0644]
commands/bzip2-1.0.3/bzip2.txt [new file with mode: 0644]
commands/bzip2-1.0.3/bzip2recover.c [new file with mode: 0644]
commands/bzip2-1.0.3/bzlib.c [new file with mode: 0644]
commands/bzip2-1.0.3/bzlib.h [new file with mode: 0644]
commands/bzip2-1.0.3/bzlib_private.h [new file with mode: 0644]
commands/bzip2-1.0.3/bzmore [new file with mode: 0644]
commands/bzip2-1.0.3/bzmore.1 [new file with mode: 0644]
commands/bzip2-1.0.3/compress.c [new file with mode: 0644]
commands/bzip2-1.0.3/crctable.c [new file with mode: 0644]
commands/bzip2-1.0.3/decompress.c [new file with mode: 0644]
commands/bzip2-1.0.3/dlltest.c [new file with mode: 0644]
commands/bzip2-1.0.3/dlltest.dsp [new file with mode: 0644]
commands/bzip2-1.0.3/entities.xml [new file with mode: 0644]
commands/bzip2-1.0.3/format.pl [new file with mode: 0755]
commands/bzip2-1.0.3/huffman.c [new file with mode: 0644]
commands/bzip2-1.0.3/libbz2.def [new file with mode: 0644]
commands/bzip2-1.0.3/libbz2.dsp [new file with mode: 0644]
commands/bzip2-1.0.3/makefile.msc [new file with mode: 0644]
commands/bzip2-1.0.3/manual.html [new file with mode: 0644]
commands/bzip2-1.0.3/manual.pdf [new file with mode: 0644]
commands/bzip2-1.0.3/manual.ps [new file with mode: 0644]
commands/bzip2-1.0.3/manual.xml [new file with mode: 0644]
commands/bzip2-1.0.3/mk251.c [new file with mode: 0644]
commands/bzip2-1.0.3/randtable.c [new file with mode: 0644]
commands/bzip2-1.0.3/sample1.bz2 [new file with mode: 0644]
commands/bzip2-1.0.3/sample1.ref [new file with mode: 0644]
commands/bzip2-1.0.3/sample2.bz2 [new file with mode: 0644]
commands/bzip2-1.0.3/sample2.ref [new file with mode: 0644]
commands/bzip2-1.0.3/sample3.bz2 [new file with mode: 0644]
commands/bzip2-1.0.3/sample3.ref [new file with mode: 0644]
commands/bzip2-1.0.3/spewG.c [new file with mode: 0644]
commands/bzip2-1.0.3/unzcrash.c [new file with mode: 0644]
commands/bzip2-1.0.3/words0 [new file with mode: 0644]
commands/bzip2-1.0.3/words1 [new file with mode: 0644]
commands/bzip2-1.0.3/words2 [new file with mode: 0644]
commands/bzip2-1.0.3/words3 [new file with mode: 0644]
commands/bzip2-1.0.3/xmlproc.sh [new file with mode: 0755]
commands/scripts/setup.sh

index 17dd09291c5bb6c89778085b1c5eaefbcc8d0b9b..43b7d6c85aa56883cb47b117ff455e285fc55423 100755 (executable)
@@ -30,6 +30,7 @@ all install clean::
        cd awk && $(MAKE) $@
        cd bc && $(MAKE) $@
        cd byacc && $(MAKE) $@
+       cd bzip2-1.0.3 && $(MAKE) $@
        cd cawf && $(MAKE) $@
        cd cron && $(MAKE) $@
        cd de && $(MAKE) $@
diff --git a/commands/bzip2-1.0.3/CHANGES b/commands/bzip2-1.0.3/CHANGES
new file mode 100644 (file)
index 0000000..e31b03a
--- /dev/null
@@ -0,0 +1,275 @@
+
+
+0.9.0
+~~~~~
+First version.
+
+
+0.9.0a
+~~~~~~
+Removed 'ranlib' from Makefile, since most modern Unix-es 
+don't need it, or even know about it.
+
+
+0.9.0b
+~~~~~~
+Fixed a problem with error reporting in bzip2.c.  This does not effect
+the library in any way.  Problem is: versions 0.9.0 and 0.9.0a (of the
+program proper) compress and decompress correctly, but give misleading
+error messages (internal panics) when an I/O error occurs, instead of
+reporting the problem correctly.  This shouldn't give any data loss
+(as far as I can see), but is confusing.
+
+Made the inline declarations disappear for non-GCC compilers.
+
+
+0.9.0c
+~~~~~~
+Fixed some problems in the library pertaining to some boundary cases.
+This makes the library behave more correctly in those situations.  The
+fixes apply only to features (calls and parameters) not used by
+bzip2.c, so the non-fixedness of them in previous versions has no
+effect on reliability of bzip2.c.
+
+In bzlib.c:
+   * made zero-length BZ_FLUSH work correctly in bzCompress().
+   * fixed bzWrite/bzRead to ignore zero-length requests.
+   * fixed bzread to correctly handle read requests after EOF.
+   * wrong parameter order in call to bzDecompressInit in
+     bzBuffToBuffDecompress.  Fixed.
+
+In compress.c:
+   * changed setting of nGroups in sendMTFValues() so as to 
+     do a bit better on small files.  This _does_ effect
+     bzip2.c.
+
+
+0.9.5a
+~~~~~~
+Major change: add a fallback sorting algorithm (blocksort.c)
+to give reasonable behaviour even for very repetitive inputs.
+Nuked --repetitive-best and --repetitive-fast since they are
+no longer useful.
+
+Minor changes: mostly a whole bunch of small changes/
+bugfixes in the driver (bzip2.c).  Changes pertaining to the
+user interface are:
+
+   allow decompression of symlink'd files to stdout
+   decompress/test files even without .bz2 extension
+   give more accurate error messages for I/O errors
+   when compressing/decompressing to stdout, don't catch control-C
+   read flags from BZIP2 and BZIP environment variables
+   decline to break hard links to a file unless forced with -f
+   allow -c flag even with no filenames
+   preserve file ownerships as far as possible
+   make -s -1 give the expected block size (100k)
+   add a flag -q --quiet to suppress nonessential warnings
+   stop decoding flags after --, so files beginning in - can be handled
+   resolved inconsistent naming: bzcat or bz2cat ?
+   bzip2 --help now returns 0
+
+Programming-level changes are:
+
+   fixed syntax error in GET_LL4 for Borland C++ 5.02
+   let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
+   fix overshoot of mode-string end in bzopen_or_bzdopen
+   wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
+   close file handles under all error conditions
+   added minor mods so it compiles with DJGPP out of the box
+   fixed Makefile so it doesn't give problems with BSD make
+   fix uninitialised memory reads in dlltest.c
+
+0.9.5b
+~~~~~~
+Open stdin/stdout in binary mode for DJGPP.
+
+0.9.5c
+~~~~~~
+Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1.  The + 1
+version could cause the sorted order to be wrong in some extremely
+obscure cases.  Also changed setting of quadrant in blocksort.c.
+
+0.9.5d
+~~~~~~
+The only functional change is to make bzlibVersion() in the library
+return the correct string.  This has no effect whatsoever on the
+functioning of the bzip2 program or library.  Added a couple of casts
+so the library compiles without warnings at level 3 in MS Visual
+Studio 6.0.  Included a Y2K statement in the file Y2K_INFO.  All other
+changes are minor documentation changes.
+
+1.0
+~~~
+Several minor bugfixes and enhancements:
+
+* Large file support.  The library uses 64-bit counters to
+  count the volume of data passing through it.  bzip2.c 
+  is now compiled with -D_FILE_OFFSET_BITS=64 to get large
+  file support from the C library.  -v correctly prints out
+  file sizes greater than 4 gigabytes.  All these changes have
+  been made without assuming a 64-bit platform or a C compiler
+  which supports 64-bit ints, so, except for the C library
+  aspect, they are fully portable.
+
+* Decompression robustness.  The library/program should be
+  robust to any corruption of compressed data, detecting and
+  handling _all_ corruption, instead of merely relying on
+  the CRCs.  What this means is that the program should 
+  never crash, given corrupted data, and the library should
+  always return BZ_DATA_ERROR.
+
+* Fixed an obscure race-condition bug only ever observed on
+  Solaris, in which, if you were very unlucky and issued
+  control-C at exactly the wrong time, both input and output
+  files would be deleted.
+
+* Don't run out of file handles on test/decompression when
+  large numbers of files have invalid magic numbers.
+
+* Avoid library namespace pollution.  Prefix all exported 
+  symbols with BZ2_.
+
+* Minor sorting enhancements from my DCC2000 paper.
+
+* Advance the version number to 1.0, so as to counteract the
+  (false-in-this-case) impression some people have that programs 
+  with version numbers less than 1.0 are in some way, experimental,
+  pre-release versions.
+
+* Create an initial Makefile-libbz2_so to build a shared library.
+  Yes, I know I should really use libtool et al ...
+
+* Make the program exit with 2 instead of 0 when decompression
+  fails due to a bad magic number (ie, an invalid bzip2 header).
+  Also exit with 1 (as the manual claims :-) whenever a diagnostic
+  message would have been printed AND the corresponding operation 
+  is aborted, for example
+     bzip2: Output file xx already exists.
+  When a diagnostic message is printed but the operation is not 
+  aborted, for example
+     bzip2: Can't guess original name for wurble -- using wurble.out
+  then the exit value 0 is returned, unless some other problem is
+  also detected.
+
+  I think it corresponds more closely to what the manual claims now.
+
+
+1.0.1
+~~~~~
+* Modified dlltest.c so it uses the new BZ2_ naming scheme.
+* Modified makefile-msc to fix minor build probs on Win2k.
+* Updated README.COMPILATION.PROBLEMS.
+
+There are no functionality changes or bug fixes relative to version
+1.0.0.  This is just a documentation update + a fix for minor Win32
+build problems.  For almost everyone, upgrading from 1.0.0 to 1.0.1 is
+utterly pointless.  Don't bother.
+
+
+1.0.2
+~~~~~
+A bug fix release, addressing various minor issues which have appeared
+in the 18 or so months since 1.0.1 was released.  Most of the fixes
+are to do with file-handling or documentation bugs.  To the best of my
+knowledge, there have been no data-loss-causing bugs reported in the
+compression/decompression engine of 1.0.0 or 1.0.1.
+
+Note that this release does not improve the rather crude build system
+for Unix platforms.  The general plan here is to autoconfiscate/
+libtoolise 1.0.2 soon after release, and release the result as 1.1.0
+or perhaps 1.2.0.  That, however, is still just a plan at this point.
+
+Here are the changes in 1.0.2.  Bug-reporters and/or patch-senders in
+parentheses.
+
+* Fix an infinite segfault loop in 1.0.1 when a directory is
+  encountered in -f (force) mode.
+     (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
+
+* Avoid double fclose() of output file on certain I/O error paths.
+     (Solar Designer)
+
+* Don't fail with internal error 1007 when fed a long stream (> 48MB)
+  of byte 251.  Also print useful message suggesting that 1007s may be
+  caused by bad memory.
+     (noticed by Juan Pedro Vallejo, fixed by me)
+
+* Fix uninitialised variable silly bug in demo prog dlltest.c.
+     (Jorj Bauer)
+
+* Remove 512-MB limitation on recovered file size for bzip2recover
+  on selected platforms which support 64-bit ints.  At the moment
+  all GCC supported platforms, and Win32.
+     (me, Alson van der Meulen)
+
+* Hard-code header byte values, to give correct operation on platforms
+  using EBCDIC as their native character set (IBM's OS/390).
+     (Leland Lucius)
+
+* Copy file access times correctly.
+     (Marty Leisner)
+
+* Add distclean and check targets to Makefile.
+     (Michael Carmack)
+
+* Parameterise use of ar and ranlib in Makefile.  Also add $(LDFLAGS).
+     (Rich Ireland, Bo Thorsen)
+
+* Pass -p (create parent dirs as needed) to mkdir during make install.
+     (Jeremy Fusco)
+
+* Dereference symlinks when copying file permissions in -f mode.
+     (Volker Schmidt)
+
+* Majorly simplify implementation of uInt64_qrm10.
+     (Bo Lindbergh)
+
+* Check the input file still exists before deleting the output one,
+  when aborting in cleanUpAndFail().
+     (Joerg Prante, Robert Linden, Matthias Krings)
+
+Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
+of bzip2:
+
+* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
+
+* Spelling changes and minor enhancements in bzip2.1.
+
+* Avoid race condition between creating the output file and setting its
+  interim permissions safely, by using fopen_output_safely().
+  No changes to bzip2recover since there is no issue with file
+  permissions there.
+
+* do not print senseless report with -v when compressing an empty
+  file.
+
+* bzcat -f works on non-bzip2 files.
+
+* do not try to escape shell meta-characters on unix (the shell takes
+  care of these).
+
+* added --fast and --best aliases for -1 -9 for gzip compatibility.
+
+
+1.0.3 (15 Feb 05)
+~~~~~~~~~~~~~~~~~
+Fixes some minor bugs since the last version, 1.0.2.
+
+* Further robustification against corrupted compressed data.
+  There are currently no known bitstreams which can cause the
+  decompressor to crash, loop or access memory which does not
+  belong to it.  If you are using bzip2 or the library to 
+  decompress bitstreams from untrusted sources, an upgrade
+  to 1.0.3 is recommended.
+
+* The documentation has been converted to XML, from which html
+  and pdf can be derived.
+
+* Various minor bugs in the documentation have been fixed.
+
+* Fixes for various compilation warnings with newer versions of
+  gcc, and on 64-bit platforms.
+
+* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
+  This has been fixed.
diff --git a/commands/bzip2-1.0.3/LICENSE b/commands/bzip2-1.0.3/LICENSE
new file mode 100644 (file)
index 0000000..e60845b
--- /dev/null
@@ -0,0 +1,40 @@
+
+This program, "bzip2", the associated library "libbzip2", and all
+documentation, are copyright (C) 1996-2005 Julian R Seward.  All
+rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+2. The origin of this software must not be misrepresented; you must 
+   not claim that you wrote the original software.  If you use this 
+   software in a product, an acknowledgment in the product 
+   documentation would be appreciated but is not required.
+
+3. Altered source versions must be plainly marked as such, and must
+   not be misrepresented as being the original software.
+
+4. The name of the author may not be used to endorse or promote 
+   products derived from this software without specific prior written 
+   permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Julian Seward, Cambridge, UK.
+jseward@acm.org
+bzip2/libbzip2 version 1.0.3 of 15 February 2005
+
diff --git a/commands/bzip2-1.0.3/Makefile b/commands/bzip2-1.0.3/Makefile
new file mode 100644 (file)
index 0000000..479d156
--- /dev/null
@@ -0,0 +1,215 @@
+
+SHELL=/bin/sh
+
+# To assist in cross-compiling
+CC=cc
+AR=ar
+ARFLAGS=cr
+RANLIB=ranlib
+LDFLAGS=
+
+BIGFILES=-D_FILE_OFFSET_BITS=64
+CFLAGS=-Wall -Winline -O -g $(BIGFILES) -Dlstat=stat
+
+# Where you want it installed when you do 'make install'
+PREFIX=/usr/local
+PREFIX_BIN=$(PREFIX)/bin
+PREFIX_LIB=$(PREFIX)/lib
+PREFIX_MAN=$(PREFIX)/man
+PREFIX_INC=$(PREFIX)/include
+
+
+OBJS= blocksort.o  \
+      huffman.o    \
+      crctable.o   \
+      randtable.o  \
+      compress.o   \
+      decompress.o \
+      bzlib.o
+
+all: all_notest test_nodep
+
+all_notest: libbz2.a bzip2 bzip2recover 
+       chmem =8000000 bzip2
+
+bzip2: libbz2.a bzip2.o
+       $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2
+
+bzip2recover: bzip2recover.o
+       $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o
+
+libbz2.a: $(OBJS)
+       rm -f libbz2.a
+       $(AR) $(ARFLAGS) libbz2.a $(OBJS)
+       @if ( test -f $(RANLIB) -o -f /usr/bin/ranlib -o \
+               -f /bin/ranlib -o -f /usr/ccs/bin/ranlib ) ; then \
+               echo $(RANLIB) libbz2.a ; \
+               $(RANLIB) libbz2.a ; \
+       fi
+
+check: test
+test: bzip2 test_nodep
+
+test_nodep:
+       @cat words1
+       ./bzip2 -1  < sample1.ref > sample1.rb2
+       ./bzip2 -2  < sample2.ref > sample2.rb2
+       ./bzip2 -3  < sample3.ref > sample3.rb2
+       ./bzip2 -d  < sample1.bz2 > sample1.tst
+       ./bzip2 -d  < sample2.bz2 > sample2.tst
+       ./bzip2 -ds < sample3.bz2 > sample3.tst
+       cmp sample1.bz2 sample1.rb2 
+       cmp sample2.bz2 sample2.rb2
+       cmp sample3.bz2 sample3.rb2
+       cmp sample1.tst sample1.ref
+       cmp sample2.tst sample2.ref
+       cmp sample3.tst sample3.ref
+       @cat words3
+
+install: bzip2 bzip2recover
+       if ( test ! -d $(PREFIX_BIN) ) ; then mkdir -p $(PREFIX_BIN) ; fi
+       if ( test ! -d $(PREFIX_LIB) ) ; then mkdir -p $(PREFIX_LIB) ; fi
+       if ( test ! -d $(PREFIX_MAN) ) ; then mkdir -p $(PREFIX_MAN) ; fi
+       if ( test ! -d $(PREFIX_MAN)/man1 ) ; then mkdir -p $(PREFIX_MAN)/man1 ; fi
+       if ( test ! -d $(PREFIX_INC) ) ; then mkdir -p $(PREFIX_INC) ; fi
+       cp -f bzip2 $(PREFIX_BIN)/bzip2
+       cp -f bzip2 $(PREFIX_BIN)/bunzip2
+       cp -f bzip2 $(PREFIX_BIN)/bzcat
+       cp -f bzip2recover $(PREFIX_BIN)/bzip2recover
+       chmod a+x $(PREFIX_BIN)/bzip2
+       chmod a+x $(PREFIX_BIN)/bunzip2
+       chmod a+x $(PREFIX_BIN)/bzcat
+       chmod a+x $(PREFIX_BIN)/bzip2recover
+       cp -f bzip2.1 $(PREFIX_MAN)/man1
+       chmod a+r $(PREFIX_MAN)/man1/bzip2.1
+       cp -f bzlib.h $(PREFIX_INC)
+       chmod a+r $(PREFIX_INC)/bzlib.h
+       cp -f libbz2.a $(PREFIX_LIB)
+       chmod a+r $(PREFIX_LIB)/libbz2.a
+       cp -f bzgrep $(PREFIX_BIN)/bzgrep
+       ln -f $(PREFIX_BIN)/bzgrep $(PREFIX_BIN)/bzegrep
+       ln -f $(PREFIX_BIN)/bzgrep $(PREFIX_BIN)/bzfgrep
+       chmod a+x $(PREFIX_BIN)/bzgrep
+       cp -f bzmore $(PREFIX_BIN)/bzmore
+       ln -f $(PREFIX_BIN)/bzmore $(PREFIX_BIN)/bzless
+       chmod a+x $(PREFIX_BIN)/bzmore
+       cp -f bzdiff $(PREFIX_BIN)/bzdiff
+       ln -f $(PREFIX_BIN)/bzdiff $(PREFIX_BIN)/bzcmp
+       chmod a+x $(PREFIX_BIN)/bzdiff
+       cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX_MAN)/man1
+       chmod a+r $(PREFIX_MAN)/man1/bzgrep.1
+       chmod a+r $(PREFIX_MAN)/man1/bzmore.1
+       chmod a+r $(PREFIX_MAN)/man1/bzdiff.1
+       echo ".so man1/bzgrep.1" > $(PREFIX_MAN)/man1/bzegrep.1
+       echo ".so man1/bzgrep.1" > $(PREFIX_MAN)/man1/bzfgrep.1
+       echo ".so man1/bzmore.1" > $(PREFIX_MAN)/man1/bzless.1
+       echo ".so man1/bzdiff.1" > $(PREFIX_MAN)/man1/bzcmp.1
+
+clean: 
+       rm -f *.o libbz2.a bzip2 bzip2recover \
+       sample1.rb2 sample2.rb2 sample3.rb2 \
+       sample1.tst sample2.tst sample3.tst
+
+blocksort.o: blocksort.c
+       @cat words0
+       $(CC) $(CFLAGS) -c blocksort.c
+huffman.o: huffman.c
+       $(CC) $(CFLAGS) -c huffman.c
+crctable.o: crctable.c
+       $(CC) $(CFLAGS) -c crctable.c
+randtable.o: randtable.c
+       $(CC) $(CFLAGS) -c randtable.c
+compress.o: compress.c
+       $(CC) $(CFLAGS) -c compress.c
+decompress.o: decompress.c
+       $(CC) $(CFLAGS) -c decompress.c
+bzlib.o: bzlib.c
+       $(CC) $(CFLAGS) -c bzlib.c
+bzip2.o: bzip2.c
+       $(CC) $(CFLAGS) -c bzip2.c
+bzip2recover.o: bzip2recover.c
+       $(CC) $(CFLAGS) -c bzip2recover.c
+
+
+distclean: clean
+       rm -f manual.ps manual.html manual.pdf
+
+DISTNAME=bzip2-1.0.3
+dist: check manual
+       rm -f $(DISTNAME)
+       ln -sf . $(DISTNAME)
+       tar cvf $(DISTNAME).tar \
+          $(DISTNAME)/blocksort.c \
+          $(DISTNAME)/huffman.c \
+          $(DISTNAME)/crctable.c \
+          $(DISTNAME)/randtable.c \
+          $(DISTNAME)/compress.c \
+          $(DISTNAME)/decompress.c \
+          $(DISTNAME)/bzlib.c \
+          $(DISTNAME)/bzip2.c \
+          $(DISTNAME)/bzip2recover.c \
+          $(DISTNAME)/bzlib.h \
+          $(DISTNAME)/bzlib_private.h \
+          $(DISTNAME)/Makefile \
+          $(DISTNAME)/LICENSE \
+          $(DISTNAME)/bzip2.1 \
+          $(DISTNAME)/bzip2.1.preformatted \
+          $(DISTNAME)/bzip2.txt \
+          $(DISTNAME)/words0 \
+          $(DISTNAME)/words1 \
+          $(DISTNAME)/words2 \
+          $(DISTNAME)/words3 \
+          $(DISTNAME)/sample1.ref \
+          $(DISTNAME)/sample2.ref \
+          $(DISTNAME)/sample3.ref \
+          $(DISTNAME)/sample1.bz2 \
+          $(DISTNAME)/sample2.bz2 \
+          $(DISTNAME)/sample3.bz2 \
+          $(DISTNAME)/dlltest.c \
+          $(DISTNAME)/manual.html \
+          $(DISTNAME)/manual.pdf \
+          $(DISTNAME)/manual.ps \
+          $(DISTNAME)/README \
+          $(DISTNAME)/README.COMPILATION.PROBLEMS \
+          $(DISTNAME)/README.XML.STUFF \
+          $(DISTNAME)/CHANGES \
+          $(DISTNAME)/libbz2.def \
+          $(DISTNAME)/libbz2.dsp \
+          $(DISTNAME)/dlltest.dsp \
+          $(DISTNAME)/makefile.msc \
+          $(DISTNAME)/Y2K_INFO \
+          $(DISTNAME)/unzcrash.c \
+          $(DISTNAME)/spewG.c \
+          $(DISTNAME)/mk251.c \
+          $(DISTNAME)/bzdiff \
+          $(DISTNAME)/bzdiff.1 \
+          $(DISTNAME)/bzmore \
+          $(DISTNAME)/bzmore.1 \
+          $(DISTNAME)/bzgrep \
+          $(DISTNAME)/bzgrep.1 \
+          $(DISTNAME)/Makefile-libbz2_so \
+          $(DISTNAME)/bz-common.xsl \
+          $(DISTNAME)/bz-fo.xsl \
+          $(DISTNAME)/bz-html.xsl \
+          $(DISTNAME)/bzip.css \
+          $(DISTNAME)/entities.xml \
+          $(DISTNAME)/manual.xml \
+          $(DISTNAME)/format.pl \
+          $(DISTNAME)/xmlproc.sh
+       gzip -v $(DISTNAME).tar
+
+# For rebuilding the manual from sources on my SuSE 9.1 box
+
+MANUAL_SRCS=   bz-common.xsl bz-fo.xsl bz-html.xsl bzip.css \
+               entities.xml manual.xml 
+
+manual: manual.html manual.ps manual.pdf
+
+manual.ps: $(MANUAL_SRCS)
+       ./xmlproc.sh -ps manual.xml
+
+manual.pdf: $(MANUAL_SRCS)
+       ./xmlproc.sh -pdf manual.xml
+
+manual.html: $(MANUAL_SRCS)
+       ./xmlproc.sh -html manual.xml
diff --git a/commands/bzip2-1.0.3/Makefile-libbz2_so b/commands/bzip2-1.0.3/Makefile-libbz2_so
new file mode 100644 (file)
index 0000000..458c5a1
--- /dev/null
@@ -0,0 +1,44 @@
+
+# This Makefile builds a shared version of the library, 
+# libbz2.so.1.0.3, with soname libbz2.so.1.0,
+# at least on x86-Linux (RedHat 7.2), 
+# with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98).  
+# Please see the README file for some 
+# important info about building the library like this.
+
+SHELL=/bin/sh
+CC=gcc
+BIGFILES=-D_FILE_OFFSET_BITS=64
+CFLAGS=-fpic -fPIC -Wall -Winline -O -g
+
+OBJS= blocksort.o  \
+      huffman.o    \
+      crctable.o   \
+      randtable.o  \
+      compress.o   \
+      decompress.o \
+      bzlib.o
+
+all: $(OBJS)
+       $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.3 $(OBJS)
+       $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.3
+       rm -f libbz2.so.1.0
+       ln -s libbz2.so.1.0.3 libbz2.so.1.0
+
+clean: 
+       rm -f $(OBJS) bzip2.o libbz2.so.1.0.3 libbz2.so.1.0 bzip2-shared
+
+blocksort.o: blocksort.c
+       $(CC) $(CFLAGS) -c blocksort.c
+huffman.o: huffman.c
+       $(CC) $(CFLAGS) -c huffman.c
+crctable.o: crctable.c
+       $(CC) $(CFLAGS) -c crctable.c
+randtable.o: randtable.c
+       $(CC) $(CFLAGS) -c randtable.c
+compress.o: compress.c
+       $(CC) $(CFLAGS) -c compress.c
+decompress.o: decompress.c
+       $(CC) $(CFLAGS) -c decompress.c
+bzlib.o: bzlib.c
+       $(CC) $(CFLAGS) -c bzlib.c
diff --git a/commands/bzip2-1.0.3/README.COMPILATION.PROBLEMS b/commands/bzip2-1.0.3/README.COMPILATION.PROBLEMS
new file mode 100644 (file)
index 0000000..f1bc396
--- /dev/null
@@ -0,0 +1,39 @@
+
+bzip2-1.0.3 should compile without problems on the vast majority of
+platforms.  Using the supplied Makefile, I've built and tested it
+myself for x86-linux and x86_64-linux.  With makefile.msc, Visual C++
+6.0 and nmake, you can build a native Win32 version too.  Large file
+support seems to work correctly on at least alpha-tru64unix and
+x86-cygwin32 (on Windows 2000).
+
+When I say "large file" I mean a file of size 2,147,483,648 (2^31)
+bytes or above.  Many older OSs can't handle files above this size,
+but many newer ones can.  Large files are pretty huge -- most files
+you'll encounter are not Large Files.
+
+Earlier versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide
+variety of platforms without difficulty, and I hope this version will
+continue in that tradition.  However, in order to support large files,
+I've had to include the define -D_FILE_OFFSET_BITS=64 in the Makefile.
+This can cause problems.
+
+The technique of adding -D_FILE_OFFSET_BITS=64 to get large file
+support is, as far as I know, the Recommended Way to get correct large
+file support.  For more details, see the Large File Support
+Specification, published by the Large File Summit, at
+   http://ftp.sas.com/standards/large.file
+
+As a general comment, if you get compilation errors which you think
+are related to large file support, try removing the above define from
+the Makefile, ie, delete the line
+   BIGFILES=-D_FILE_OFFSET_BITS=64 
+from the Makefile, and do 'make clean ; make'.  This will give you a
+version of bzip2 without large file support, which, for most
+applications, is probably not a problem.  
+
+Alternatively, try some of the platform-specific hints listed below.
+
+You can use the spewG.c program to generate huge files to test bzip2's
+large file support, if you are feeling paranoid.  Be aware though that
+any compilation problems which affect bzip2 will also affect spewG.c,
+alas.
diff --git a/commands/bzip2-1.0.3/README.MINIX b/commands/bzip2-1.0.3/README.MINIX
new file mode 100644 (file)
index 0000000..a03e17d
--- /dev/null
@@ -0,0 +1,172 @@
+###############################################################################
+# Quick installation
+###############################################################################
+
+To build and install bzip into /usr/local, execute the following commands 
+as user bin:
+
+make
+make install
+
+To install into another directory use:
+make install PREFIX=<path>
+
+###############################################################################
+# bzip 1.0.3 for Minix
+###############################################################################
+The text below is taken from the original README file. The original file is
+available as README.ORIGINAL.
+
+This is the README for bzip2, a block-sorting file compressor, version
+1.0.3.  This version is fully compatible with the previous public
+releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and 1.0.2.
+
+bzip2-1.0.3 is distributed under a BSD-style license.  For details,
+see the file LICENSE.
+
+Complete documentation is available in Postscript form (manual.ps),
+PDF (manual.pdf) or html (manual.html).  A plain-text version of the
+manual page is available as bzip2.txt.  A statement about Y2K issues
+is now included in the file Y2K_INFO.
+
+
+HOW TO BUILD -- MINIX
+
+Type `make'.  This builds the library libbz2.a and then the
+programs bzip2 and bzip2recover.  Six self-tests are run.
+If the self-tests complete ok, carry on to installation:
+
+To install in /usr/local/bin, /usr/local/lib, /usr/local/man and 
+   /usr/local/include, type
+   make install
+To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type 
+   make install PREFIX=/xxx/yyy
+If you are (justifiably) paranoid and want to see what 'make install'
+is going to do, you can first do
+   make -n install                      or
+   make -n install PREFIX=/xxx/yyy      respectively.
+The -n instructs make to show the commands it would execute, but
+not actually execute them.
+
+VALIDATION
+
+Correct operation, in the sense that a compressed file can always be
+decompressed to reproduce the original, is obviously of paramount
+importance.  To validate bzip2, I used a modified version of Mark
+Nelson's churn program.  Churn is an automated test driver which
+recursively traverses a directory structure, using bzip2 to compress
+and then decompress each file it encounters, and checking that the
+decompressed data is the same as the original.
+
+
+
+Please read and be aware of the following:
+
+WARNING:
+
+   This program (attempts to) compress data by performing several
+   non-trivial transformations on it.  Unless you are 100% familiar
+   with *all* the algorithms contained herein, and with the
+   consequences of modifying them, you should NOT meddle with the
+   compression or decompression machinery.  Incorrect changes can and
+   very likely *will* lead to disastrous loss of data.
+
+
+DISCLAIMER:
+
+   I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
+   USE OF THIS PROGRAM, HOWSOEVER CAUSED.
+
+   Every compression of a file implies an assumption that the
+   compressed file can be decompressed to reproduce the original.
+   Great efforts in design, coding and testing have been made to
+   ensure that this program works correctly.  However, the complexity
+   of the algorithms, and, in particular, the presence of various
+   special cases in the code which occur with very low but non-zero
+   probability make it impossible to rule out the possibility of bugs
+   remaining in the program.  DO NOT COMPRESS ANY DATA WITH THIS
+   PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
+   SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
+
+   That is not to say this program is inherently unreliable.  Indeed,
+   I very much hope the opposite is true.  bzip2 has been carefully
+   constructed and extensively tested.
+
+
+PATENTS:
+
+   To the best of my knowledge, bzip2 does not use any patented
+   algorithms.  However, I do not have the resources to carry out
+   a patent search.  Therefore I cannot give any guarantee of the
+   above statement.
+
+End of legalities.
+
+
+WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ?
+
+   * Approx 10% faster compression, 30% faster decompression
+   * -t (test mode) is a lot quicker
+   * Can decompress concatenated compressed files
+   * Programming interface, so programs can directly read/write .bz2 files
+   * Less restrictive (BSD-style) licensing
+   * Flag handling more compatible with GNU gzip
+   * Much more documentation, i.e., a proper user manual
+   * Hopefully, improved portability (at least of the library)
+
+WHAT'S NEW IN 0.9.5 ?
+
+   * Compression speed is much less sensitive to the input
+     data than in previous versions.  Specifically, the very
+     slow performance caused by repetitive data is fixed.
+   * Many small improvements in file and flag handling.
+   * A Y2K statement.
+
+WHAT'S NEW IN 1.0.0 ?
+
+   See the CHANGES file.
+
+WHAT'S NEW IN 1.0.2 ?
+
+   See the CHANGES file.
+
+WHAT'S NEW IN 1.0.3 ?
+
+   See the CHANGES file.
+
+
+I hope you find bzip2 useful.  Feel free to contact me at
+   jseward@bzip.org
+if you have any suggestions or queries.  Many people mailed me with
+comments, suggestions and patches after the releases of bzip-0.15,
+bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and
+1.0.2, and the changes in bzip2 are largely a result of this feedback.
+I thank you for your comments.
+
+At least for the time being, bzip2's "home" is (or can be reached via)
+http://www.bzip.org
+
+Julian Seward
+jseward@bzip.org
+
+Cambridge, UK.
+
+18     July 1996 (version 0.15)
+25   August 1996 (version 0.21)
+ 7   August 1997 (bzip2, version 0.1)
+29   August 1997 (bzip2, version 0.1pl2)
+23   August 1998 (bzip2, version 0.9.0)
+ 8     June 1999 (bzip2, version 0.9.5)
+ 4     Sept 1999 (bzip2, version 0.9.5d)
+ 5      May 2000 (bzip2, version 1.0pre8)
+30 December 2001 (bzip2, version 1.0.2pre1)
+15 February 2005 (bzip2, version 1.0.3)
+
+###############################################################################
+# Changes to the source of version 1.0.3
+###############################################################################
+- Changed default installation to /usr/local
+- Adjusted Makefile to separate testing from building, to allow chmem in
+  between
+- Adjusted invocation of ar, as Minix ar does not support -q, even though the
+  documentation says it does
diff --git a/commands/bzip2-1.0.3/README.ORIGINAL b/commands/bzip2-1.0.3/README.ORIGINAL
new file mode 100644 (file)
index 0000000..1aff448
--- /dev/null
@@ -0,0 +1,185 @@
+
+This is the README for bzip2, a block-sorting file compressor, version
+1.0.3.  This version is fully compatible with the previous public
+releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and 1.0.2.
+
+bzip2-1.0.3 is distributed under a BSD-style license.  For details,
+see the file LICENSE.
+
+Complete documentation is available in Postscript form (manual.ps),
+PDF (manual.pdf) or html (manual.html).  A plain-text version of the
+manual page is available as bzip2.txt.  A statement about Y2K issues
+is now included in the file Y2K_INFO.
+
+
+HOW TO BUILD -- UNIX
+
+Type `make'.  This builds the library libbz2.a and then the
+programs bzip2 and bzip2recover.  Six self-tests are run.
+If the self-tests complete ok, carry on to installation:
+
+To install in /usr/bin, /usr/lib, /usr/man and /usr/include, type
+   make install
+To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type 
+   make install PREFIX=/xxx/yyy
+If you are (justifiably) paranoid and want to see what 'make install'
+is going to do, you can first do
+   make -n install                      or
+   make -n install PREFIX=/xxx/yyy      respectively.
+The -n instructs make to show the commands it would execute, but
+not actually execute them.
+
+
+HOW TO BUILD -- UNIX, shared library libbz2.so.
+
+Do 'make -f Makefile-libbz2_so'.  This Makefile seems to work for
+Linux-ELF (RedHat 7.2 on an x86 box), with gcc.  I make no claims
+that it works for any other platform, though I suspect it probably
+will work for most platforms employing both ELF and gcc.
+
+bzip2-shared, a client of the shared library, is also built, but not
+self-tested.  So I suggest you also build using the normal Makefile,
+since that conducts a self-test.  A second reason to prefer the
+version statically linked to the library is that, on x86 platforms,
+building shared objects makes a valuable register (%ebx) unavailable
+to gcc, resulting in a slowdown of 10%-20%, at least for bzip2.
+
+Important note for people upgrading .so's from 0.9.0/0.9.5 to version
+1.0.X.  All the functions in the library have been renamed, from (eg)
+bzCompress to BZ2_bzCompress, to avoid namespace pollution.
+Unfortunately this means that the libbz2.so created by
+Makefile-libbz2_so will not work with any program which used an older
+version of the library.  Sorry.  I do encourage library clients to
+make the effort to upgrade to use version 1.0, since it is both faster
+and more robust than previous versions.
+
+
+HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
+
+It's difficult for me to support compilation on all these platforms.
+My approach is to collect binaries for these platforms, and put them
+on the master web page (http://sources.redhat.com/bzip2).  Look there.
+However (FWIW), bzip2-1.0.X is very standard ANSI C and should compile
+unmodified with MS Visual C.  If you have difficulties building, you
+might want to read README.COMPILATION.PROBLEMS.
+
+At least using MS Visual C++ 6, you can build from the unmodified
+sources by issuing, in a command shell: 
+   nmake -f makefile.msc
+(you may need to first run the MSVC-provided script VCVARS32.BAT
+ so as to set up paths to the MSVC tools correctly).
+
+
+VALIDATION
+
+Correct operation, in the sense that a compressed file can always be
+decompressed to reproduce the original, is obviously of paramount
+importance.  To validate bzip2, I used a modified version of Mark
+Nelson's churn program.  Churn is an automated test driver which
+recursively traverses a directory structure, using bzip2 to compress
+and then decompress each file it encounters, and checking that the
+decompressed data is the same as the original.
+
+
+
+Please read and be aware of the following:
+
+WARNING:
+
+   This program (attempts to) compress data by performing several
+   non-trivial transformations on it.  Unless you are 100% familiar
+   with *all* the algorithms contained herein, and with the
+   consequences of modifying them, you should NOT meddle with the
+   compression or decompression machinery.  Incorrect changes can and
+   very likely *will* lead to disastrous loss of data.
+
+
+DISCLAIMER:
+
+   I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
+   USE OF THIS PROGRAM, HOWSOEVER CAUSED.
+
+   Every compression of a file implies an assumption that the
+   compressed file can be decompressed to reproduce the original.
+   Great efforts in design, coding and testing have been made to
+   ensure that this program works correctly.  However, the complexity
+   of the algorithms, and, in particular, the presence of various
+   special cases in the code which occur with very low but non-zero
+   probability make it impossible to rule out the possibility of bugs
+   remaining in the program.  DO NOT COMPRESS ANY DATA WITH THIS
+   PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
+   SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
+
+   That is not to say this program is inherently unreliable.  Indeed,
+   I very much hope the opposite is true.  bzip2 has been carefully
+   constructed and extensively tested.
+
+
+PATENTS:
+
+   To the best of my knowledge, bzip2 does not use any patented
+   algorithms.  However, I do not have the resources to carry out
+   a patent search.  Therefore I cannot give any guarantee of the
+   above statement.
+
+End of legalities.
+
+
+WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ?
+
+   * Approx 10% faster compression, 30% faster decompression
+   * -t (test mode) is a lot quicker
+   * Can decompress concatenated compressed files
+   * Programming interface, so programs can directly read/write .bz2 files
+   * Less restrictive (BSD-style) licensing
+   * Flag handling more compatible with GNU gzip
+   * Much more documentation, i.e., a proper user manual
+   * Hopefully, improved portability (at least of the library)
+
+WHAT'S NEW IN 0.9.5 ?
+
+   * Compression speed is much less sensitive to the input
+     data than in previous versions.  Specifically, the very
+     slow performance caused by repetitive data is fixed.
+   * Many small improvements in file and flag handling.
+   * A Y2K statement.
+
+WHAT'S NEW IN 1.0.0 ?
+
+   See the CHANGES file.
+
+WHAT'S NEW IN 1.0.2 ?
+
+   See the CHANGES file.
+
+WHAT'S NEW IN 1.0.3 ?
+
+   See the CHANGES file.
+
+
+I hope you find bzip2 useful.  Feel free to contact me at
+   jseward@bzip.org
+if you have any suggestions or queries.  Many people mailed me with
+comments, suggestions and patches after the releases of bzip-0.15,
+bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and
+1.0.2, and the changes in bzip2 are largely a result of this feedback.
+I thank you for your comments.
+
+At least for the time being, bzip2's "home" is (or can be reached via)
+http://www.bzip.org
+
+Julian Seward
+jseward@bzip.org
+
+Cambridge, UK.
+
+18     July 1996 (version 0.15)
+25   August 1996 (version 0.21)
+ 7   August 1997 (bzip2, version 0.1)
+29   August 1997 (bzip2, version 0.1pl2)
+23   August 1998 (bzip2, version 0.9.0)
+ 8     June 1999 (bzip2, version 0.9.5)
+ 4     Sept 1999 (bzip2, version 0.9.5d)
+ 5      May 2000 (bzip2, version 1.0pre8)
+30 December 2001 (bzip2, version 1.0.2pre1)
+15 February 2005 (bzip2, version 1.0.3)
diff --git a/commands/bzip2-1.0.3/README.XML.STUFF b/commands/bzip2-1.0.3/README.XML.STUFF
new file mode 100644 (file)
index 0000000..0ff209f
--- /dev/null
@@ -0,0 +1,31 @@
+The script xmlproc.sh takes an xml file as input,
+and processes it to create .pdf, .html or .ps output.
+It uses format.pl, a perl script to format <pre> blocks nicely,
+ and add CDATA tags so writers do not have to use eg. &lt; 
+
+The file "entities.xml" must be edited to reflect current
+version, year, etc.
+
+
+Usage:
+
+  xmlproc.sh -v manual.xml
+  Validates an xml file to ensure no dtd-compliance errors
+
+  xmlproc.sh -html manual.xml
+  Output: manual.html
+
+  xmlproc.sh -pdf manual.xml
+  Output: manual.pdf
+
+  xmlproc.sh -ps manual.xml
+  Output: manual.ps
+
+
+Notum bene: 
+- pdfxmltex barfs if given a filename with an underscore in it
+
+- xmltex won't work yet - there's a bug in passivetex
+    which we are all waiting for Sebastian to fix.
+  So we are going the xml -> pdf -> ps route for the time being,
+    using pdfxmltex.
diff --git a/commands/bzip2-1.0.3/Y2K_INFO b/commands/bzip2-1.0.3/Y2K_INFO
new file mode 100644 (file)
index 0000000..55fd56a
--- /dev/null
@@ -0,0 +1,34 @@
+
+Y2K status of bzip2 and libbzip2, versions 0.1, 0.9.0 and 0.9.5
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Informally speaking:
+   bzip2 is a compression program built on top of libbzip2, 
+   a library which does the real work of compression and 
+   decompression.  As far as I am aware, libbzip2 does not have 
+   any date-related code at all.
+
+   bzip2 itself copies dates from source to destination files 
+   when compressing or decompressing, using the 'stat' and 'utime' 
+   UNIX system calls.  It doesn't examine, manipulate or store the 
+   dates in any way.  So as far as I can see, there shouldn't be any 
+   problem with bzip2 providing 'stat' and 'utime' work correctly 
+   on your system.
+
+   On non-unix platforms (those for which BZ_UNIX in bzip2.c is
+   not set to 1), bzip2 doesn't even do the date copying.
+
+   Overall, informally speaking, I don't think bzip2 or libbzip2 
+   have a Y2K problem.
+
+Formally speaking:
+   I am not prepared to offer you any assurance whatsoever 
+   regarding Y2K issues in my software.  You alone assume the 
+   entire risk of using the software.  The disclaimer of liability 
+   in the LICENSE file in the bzip2 source distribution continues 
+   to apply on this issue as with every other issue pertaining 
+   to the software.
+
+Julian Seward
+Cambridge, UK
+25 August 1999
diff --git a/commands/bzip2-1.0.3/blocksort.c b/commands/bzip2-1.0.3/blocksort.c
new file mode 100644 (file)
index 0000000..33ec9f5
--- /dev/null
@@ -0,0 +1,1141 @@
+
+/*-------------------------------------------------------------*/
+/*--- Block sorting machinery                               ---*/
+/*---                                           blocksort.c ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+
+  To get some idea how the block sorting algorithms in this file 
+  work, read my paper 
+     On the Performance of BWT Sorting Algorithms
+  in Proceedings of the IEEE Data Compression Conference 2000,
+  Snowbird, Utah, USA, 27-30 March 2000.  The main sort in this
+  file implements the algorithm called  cache  in the paper.
+--*/
+
+
+#include "bzlib_private.h"
+
+/*---------------------------------------------*/
+/*--- Fallback O(N log(N)^2) sorting        ---*/
+/*--- algorithm, for repetitive blocks      ---*/
+/*---------------------------------------------*/
+
+/*---------------------------------------------*/
+static 
+__inline__
+void fallbackSimpleSort ( UInt32* fmap, 
+                          UInt32* eclass, 
+                          Int32   lo, 
+                          Int32   hi )
+{
+   Int32 i, j, tmp;
+   UInt32 ec_tmp;
+
+   if (lo == hi) return;
+
+   if (hi - lo > 3) {
+      for ( i = hi-4; i >= lo; i-- ) {
+         tmp = fmap[i];
+         ec_tmp = eclass[tmp];
+         for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
+            fmap[j-4] = fmap[j];
+         fmap[j-4] = tmp;
+      }
+   }
+
+   for ( i = hi-1; i >= lo; i-- ) {
+      tmp = fmap[i];
+      ec_tmp = eclass[tmp];
+      for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
+         fmap[j-1] = fmap[j];
+      fmap[j-1] = tmp;
+   }
+}
+
+
+/*---------------------------------------------*/
+#define fswap(zz1, zz2) \
+   { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
+
+#define fvswap(zzp1, zzp2, zzn)       \
+{                                     \
+   Int32 yyp1 = (zzp1);               \
+   Int32 yyp2 = (zzp2);               \
+   Int32 yyn  = (zzn);                \
+   while (yyn > 0) {                  \
+      fswap(fmap[yyp1], fmap[yyp2]);  \
+      yyp1++; yyp2++; yyn--;          \
+   }                                  \
+}
+
+
+#define fmin(a,b) ((a) < (b)) ? (a) : (b)
+
+#define fpush(lz,hz) { stackLo[sp] = lz; \
+                       stackHi[sp] = hz; \
+                       sp++; }
+
+#define fpop(lz,hz) { sp--;              \
+                      lz = stackLo[sp];  \
+                      hz = stackHi[sp]; }
+
+#define FALLBACK_QSORT_SMALL_THRESH 10
+#define FALLBACK_QSORT_STACK_SIZE   100
+
+
+static
+void fallbackQSort3 ( UInt32* fmap, 
+                      UInt32* eclass,
+                      Int32   loSt, 
+                      Int32   hiSt )
+{
+   Int32 unLo, unHi, ltLo, gtHi, n, m;
+   Int32 sp, lo, hi;
+   UInt32 med, r, r3;
+   Int32 stackLo[FALLBACK_QSORT_STACK_SIZE];
+   Int32 stackHi[FALLBACK_QSORT_STACK_SIZE];
+
+   r = 0;
+
+   sp = 0;
+   fpush ( loSt, hiSt );
+
+   while (sp > 0) {
+
+      AssertH ( sp < FALLBACK_QSORT_STACK_SIZE, 1004 );
+
+      fpop ( lo, hi );
+      if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
+         fallbackSimpleSort ( fmap, eclass, lo, hi );
+         continue;
+      }
+
+      /* Random partitioning.  Median of 3 sometimes fails to
+         avoid bad cases.  Median of 9 seems to help but 
+         looks rather expensive.  This too seems to work but
+         is cheaper.  Guidance for the magic constants 
+         7621 and 32768 is taken from Sedgewick's algorithms
+         book, chapter 35.
+      */
+      r = ((r * 7621) + 1) % 32768;
+      r3 = r % 3;
+      if (r3 == 0) med = eclass[fmap[lo]]; else
+      if (r3 == 1) med = eclass[fmap[(lo+hi)>>1]]; else
+                   med = eclass[fmap[hi]];
+
+      unLo = ltLo = lo;
+      unHi = gtHi = hi;
+
+      while (1) {
+         while (1) {
+            if (unLo > unHi) break;
+            n = (Int32)eclass[fmap[unLo]] - (Int32)med;
+            if (n == 0) { 
+               fswap(fmap[unLo], fmap[ltLo]); 
+               ltLo++; unLo++; 
+               continue; 
+            };
+            if (n > 0) break;
+            unLo++;
+         }
+         while (1) {
+            if (unLo > unHi) break;
+            n = (Int32)eclass[fmap[unHi]] - (Int32)med;
+            if (n == 0) { 
+               fswap(fmap[unHi], fmap[gtHi]); 
+               gtHi--; unHi--; 
+               continue; 
+            };
+            if (n < 0) break;
+            unHi--;
+         }
+         if (unLo > unHi) break;
+         fswap(fmap[unLo], fmap[unHi]); unLo++; unHi--;
+      }
+
+      AssertD ( unHi == unLo-1, "fallbackQSort3(2)" );
+
+      if (gtHi < ltLo) continue;
+
+      n = fmin(ltLo-lo, unLo-ltLo); fvswap(lo, unLo-n, n);
+      m = fmin(hi-gtHi, gtHi-unHi); fvswap(unLo, hi-m+1, m);
+
+      n = lo + unLo - ltLo - 1;
+      m = hi - (gtHi - unHi) + 1;
+
+      if (n - lo > hi - m) {
+         fpush ( lo, n );
+         fpush ( m, hi );
+      } else {
+         fpush ( m, hi );
+         fpush ( lo, n );
+      }
+   }
+}
+
+#undef fmin
+#undef fpush
+#undef fpop
+#undef fswap
+#undef fvswap
+#undef FALLBACK_QSORT_SMALL_THRESH
+#undef FALLBACK_QSORT_STACK_SIZE
+
+
+/*---------------------------------------------*/
+/* Pre:
+      nblock > 0
+      eclass exists for [0 .. nblock-1]
+      ((UChar*)eclass) [0 .. nblock-1] holds block
+      ptr exists for [0 .. nblock-1]
+
+   Post:
+      ((UChar*)eclass) [0 .. nblock-1] holds block
+      All other areas of eclass destroyed
+      fmap [0 .. nblock-1] holds sorted order
+      bhtab [ 0 .. 2+(nblock/32) ] destroyed
+*/
+
+#define       SET_BH(zz)  bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
+#define     CLEAR_BH(zz)  bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
+#define     ISSET_BH(zz)  (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
+#define      WORD_BH(zz)  bhtab[(zz) >> 5]
+#define UNALIGNED_BH(zz)  ((zz) & 0x01f)
+
+static
+void fallbackSort ( UInt32* fmap, 
+                    UInt32* eclass, 
+                    UInt32* bhtab,
+                    Int32   nblock,
+                    Int32   verb )
+{
+   Int32 ftab[257];
+   Int32 ftabCopy[256];
+   Int32 H, i, j, k, l, r, cc, cc1;
+   Int32 nNotDone;
+   Int32 nBhtab;
+   UChar* eclass8 = (UChar*)eclass;
+
+   /*--
+      Initial 1-char radix sort to generate
+      initial fmap and initial BH bits.
+   --*/
+   if (verb >= 4)
+      VPrintf0 ( "        bucket sorting ...\n" );
+   for (i = 0; i < 257;    i++) ftab[i] = 0;
+   for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
+   for (i = 0; i < 256;    i++) ftabCopy[i] = ftab[i];
+   for (i = 1; i < 257;    i++) ftab[i] += ftab[i-1];
+
+   for (i = 0; i < nblock; i++) {
+      j = eclass8[i];
+      k = ftab[j] - 1;
+      ftab[j] = k;
+      fmap[k] = i;
+   }
+
+   nBhtab = 2 + (nblock / 32);
+   for (i = 0; i < nBhtab; i++) bhtab[i] = 0;
+   for (i = 0; i < 256; i++) SET_BH(ftab[i]);
+
+   /*--
+      Inductively refine the buckets.  Kind-of an
+      "exponential radix sort" (!), inspired by the
+      Manber-Myers suffix array construction algorithm.
+   --*/
+
+   /*-- set sentinel bits for block-end detection --*/
+   for (i = 0; i < 32; i++) { 
+      SET_BH(nblock + 2*i);
+      CLEAR_BH(nblock + 2*i + 1);
+   }
+
+   /*-- the log(N) loop --*/
+   H = 1;
+   while (1) {
+
+      if (verb >= 4) 
+         VPrintf1 ( "        depth %6d has ", H );
+
+      j = 0;
+      for (i = 0; i < nblock; i++) {
+         if (ISSET_BH(i)) j = i;
+         k = fmap[i] - H; if (k < 0) k += nblock;
+         eclass[k] = j;
+      }
+
+      nNotDone = 0;
+      r = -1;
+      while (1) {
+
+        /*-- find the next non-singleton bucket --*/
+         k = r + 1;
+         while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
+         if (ISSET_BH(k)) {
+            while (WORD_BH(k) == 0xffffffff) k += 32;
+            while (ISSET_BH(k)) k++;
+         }
+         l = k - 1;
+         if (l >= nblock) break;
+         while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
+         if (!ISSET_BH(k)) {
+            while (WORD_BH(k) == 0x00000000) k += 32;
+            while (!ISSET_BH(k)) k++;
+         }
+         r = k - 1;
+         if (r >= nblock) break;
+
+         /*-- now [l, r] bracket current bucket --*/
+         if (r > l) {
+            nNotDone += (r - l + 1);
+            fallbackQSort3 ( fmap, eclass, l, r );
+
+            /*-- scan bucket and generate header bits-- */
+            cc = -1;
+            for (i = l; i <= r; i++) {
+               cc1 = eclass[fmap[i]];
+               if (cc != cc1) { SET_BH(i); cc = cc1; };
+            }
+         }
+      }
+
+      if (verb >= 4) 
+         VPrintf1 ( "%6d unresolved strings\n", nNotDone );
+
+      H *= 2;
+      if (H > nblock || nNotDone == 0) break;
+   }
+
+   /*-- 
+      Reconstruct the original block in
+      eclass8 [0 .. nblock-1], since the
+      previous phase destroyed it.
+   --*/
+   if (verb >= 4)
+      VPrintf0 ( "        reconstructing block ...\n" );
+   j = 0;
+   for (i = 0; i < nblock; i++) {
+      while (ftabCopy[j] == 0) j++;
+      ftabCopy[j]--;
+      eclass8[fmap[i]] = (UChar)j;
+   }
+   AssertH ( j < 256, 1005 );
+}
+
+#undef       SET_BH
+#undef     CLEAR_BH
+#undef     ISSET_BH
+#undef      WORD_BH
+#undef UNALIGNED_BH
+
+
+/*---------------------------------------------*/
+/*--- The main, O(N^2 log(N)) sorting       ---*/
+/*--- algorithm.  Faster for "normal"       ---*/
+/*--- non-repetitive blocks.                ---*/
+/*---------------------------------------------*/
+
+/*---------------------------------------------*/
+static
+__inline__
+Bool mainGtU ( UInt32  i1, 
+               UInt32  i2,
+               UChar*  block, 
+               UInt16* quadrant,
+               UInt32  nblock,
+               Int32*  budget )
+{
+   Int32  k;
+   UChar  c1, c2;
+   UInt16 s1, s2;
+
+   AssertD ( i1 != i2, "mainGtU" );
+   /* 1 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 2 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 3 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 4 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 5 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 6 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 7 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 8 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 9 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 10 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 11 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+   /* 12 */
+   c1 = block[i1]; c2 = block[i2];
+   if (c1 != c2) return (c1 > c2);
+   i1++; i2++;
+
+   k = nblock + 8;
+
+   do {
+      /* 1 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 2 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 3 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 4 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 5 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 6 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 7 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+      /* 8 */
+      c1 = block[i1]; c2 = block[i2];
+      if (c1 != c2) return (c1 > c2);
+      s1 = quadrant[i1]; s2 = quadrant[i2];
+      if (s1 != s2) return (s1 > s2);
+      i1++; i2++;
+
+      if (i1 >= nblock) i1 -= nblock;
+      if (i2 >= nblock) i2 -= nblock;
+
+      k -= 8;
+      (*budget)--;
+   }
+      while (k >= 0);
+
+   return False;
+}
+
+
+/*---------------------------------------------*/
+/*--
+   Knuth's increments seem to work better
+   than Incerpi-Sedgewick here.  Possibly
+   because the number of elems to sort is
+   usually small, typically <= 20.
+--*/
+static
+Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280,
+                   9841, 29524, 88573, 265720,
+                   797161, 2391484 };
+
+static
+void mainSimpleSort ( UInt32* ptr,
+                      UChar*  block,
+                      UInt16* quadrant,
+                      Int32   nblock,
+                      Int32   lo, 
+                      Int32   hi, 
+                      Int32   d,
+                      Int32*  budget )
+{
+   Int32 i, j, h, bigN, hp;
+   UInt32 v;
+
+   bigN = hi - lo + 1;
+   if (bigN < 2) return;
+
+   hp = 0;
+   while (incs[hp] < bigN) hp++;
+   hp--;
+
+   for (; hp >= 0; hp--) {
+      h = incs[hp];
+
+      i = lo + h;
+      while (True) {
+
+         /*-- copy 1 --*/
+         if (i > hi) break;
+         v = ptr[i];
+         j = i;
+         while ( mainGtU ( 
+                    ptr[j-h]+d, v+d, block, quadrant, nblock, budget 
+                 ) ) {
+            ptr[j] = ptr[j-h];
+            j = j - h;
+            if (j <= (lo + h - 1)) break;
+         }
+         ptr[j] = v;
+         i++;
+
+         /*-- copy 2 --*/
+         if (i > hi) break;
+         v = ptr[i];
+         j = i;
+         while ( mainGtU ( 
+                    ptr[j-h]+d, v+d, block, quadrant, nblock, budget 
+                 ) ) {
+            ptr[j] = ptr[j-h];
+            j = j - h;
+            if (j <= (lo + h - 1)) break;
+         }
+         ptr[j] = v;
+         i++;
+
+         /*-- copy 3 --*/
+         if (i > hi) break;
+         v = ptr[i];
+         j = i;
+         while ( mainGtU ( 
+                    ptr[j-h]+d, v+d, block, quadrant, nblock, budget 
+                 ) ) {
+            ptr[j] = ptr[j-h];
+            j = j - h;
+            if (j <= (lo + h - 1)) break;
+         }
+         ptr[j] = v;
+         i++;
+
+         if (*budget < 0) return;
+      }
+   }
+}
+
+
+/*---------------------------------------------*/
+/*--
+   The following is an implementation of
+   an elegant 3-way quicksort for strings,
+   described in a paper "Fast Algorithms for
+   Sorting and Searching Strings", by Robert
+   Sedgewick and Jon L. Bentley.
+--*/
+
+#define mswap(zz1, zz2) \
+   { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
+
+#define mvswap(zzp1, zzp2, zzn)       \
+{                                     \
+   Int32 yyp1 = (zzp1);               \
+   Int32 yyp2 = (zzp2);               \
+   Int32 yyn  = (zzn);                \
+   while (yyn > 0) {                  \
+      mswap(ptr[yyp1], ptr[yyp2]);    \
+      yyp1++; yyp2++; yyn--;          \
+   }                                  \
+}
+
+static 
+__inline__
+UChar mmed3 ( UChar a, UChar b, UChar c )
+{
+   UChar t;
+   if (a > b) { t = a; a = b; b = t; };
+   if (b > c) { 
+      b = c;
+      if (a > b) b = a;
+   }
+   return b;
+}
+
+#define mmin(a,b) ((a) < (b)) ? (a) : (b)
+
+#define mpush(lz,hz,dz) { stackLo[sp] = lz; \
+                          stackHi[sp] = hz; \
+                          stackD [sp] = dz; \
+                          sp++; }
+
+#define mpop(lz,hz,dz) { sp--;             \
+                         lz = stackLo[sp]; \
+                         hz = stackHi[sp]; \
+                         dz = stackD [sp]; }
+
+
+#define mnextsize(az) (nextHi[az]-nextLo[az])
+
+#define mnextswap(az,bz)                                        \
+   { Int32 tz;                                                  \
+     tz = nextLo[az]; nextLo[az] = nextLo[bz]; nextLo[bz] = tz; \
+     tz = nextHi[az]; nextHi[az] = nextHi[bz]; nextHi[bz] = tz; \
+     tz = nextD [az]; nextD [az] = nextD [bz]; nextD [bz] = tz; }
+
+
+#define MAIN_QSORT_SMALL_THRESH 20
+#define MAIN_QSORT_DEPTH_THRESH (BZ_N_RADIX + BZ_N_QSORT)
+#define MAIN_QSORT_STACK_SIZE 100
+
+static
+void mainQSort3 ( UInt32* ptr,
+                  UChar*  block,
+                  UInt16* quadrant,
+                  Int32   nblock,
+                  Int32   loSt, 
+                  Int32   hiSt, 
+                  Int32   dSt,
+                  Int32*  budget )
+{
+   Int32 unLo, unHi, ltLo, gtHi, n, m, med;
+   Int32 sp, lo, hi, d;
+
+   Int32 stackLo[MAIN_QSORT_STACK_SIZE];
+   Int32 stackHi[MAIN_QSORT_STACK_SIZE];
+   Int32 stackD [MAIN_QSORT_STACK_SIZE];
+
+   Int32 nextLo[3];
+   Int32 nextHi[3];
+   Int32 nextD [3];
+
+   sp = 0;
+   mpush ( loSt, hiSt, dSt );
+
+   while (sp > 0) {
+
+      AssertH ( sp < MAIN_QSORT_STACK_SIZE, 1001 );
+
+      mpop ( lo, hi, d );
+      if (hi - lo < MAIN_QSORT_SMALL_THRESH || 
+          d > MAIN_QSORT_DEPTH_THRESH) {
+         mainSimpleSort ( ptr, block, quadrant, nblock, lo, hi, d, budget );
+         if (*budget < 0) return;
+         continue;
+      }
+
+      med = (Int32) 
+            mmed3 ( block[ptr[ lo         ]+d],
+                    block[ptr[ hi         ]+d],
+                    block[ptr[ (lo+hi)>>1 ]+d] );
+
+      unLo = ltLo = lo;
+      unHi = gtHi = hi;
+
+      while (True) {
+         while (True) {
+            if (unLo > unHi) break;
+            n = ((Int32)block[ptr[unLo]+d]) - med;
+            if (n == 0) { 
+               mswap(ptr[unLo], ptr[ltLo]); 
+               ltLo++; unLo++; continue; 
+            };
+            if (n >  0) break;
+            unLo++;
+         }
+         while (True) {
+            if (unLo > unHi) break;
+            n = ((Int32)block[ptr[unHi]+d]) - med;
+            if (n == 0) { 
+               mswap(ptr[unHi], ptr[gtHi]); 
+               gtHi--; unHi--; continue; 
+            };
+            if (n <  0) break;
+            unHi--;
+         }
+         if (unLo > unHi) break;
+         mswap(ptr[unLo], ptr[unHi]); unLo++; unHi--;
+      }
+
+      AssertD ( unHi == unLo-1, "mainQSort3(2)" );
+
+      if (gtHi < ltLo) {
+         mpush(lo, hi, d+1 );
+         continue;
+      }
+
+      n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);
+      m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);
+
+      n = lo + unLo - ltLo - 1;
+      m = hi - (gtHi - unHi) + 1;
+
+      nextLo[0] = lo;  nextHi[0] = n;   nextD[0] = d;
+      nextLo[1] = m;   nextHi[1] = hi;  nextD[1] = d;
+      nextLo[2] = n+1; nextHi[2] = m-1; nextD[2] = d+1;
+
+      if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
+      if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);
+      if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
+
+      AssertD (mnextsize(0) >= mnextsize(1), "mainQSort3(8)" );
+      AssertD (mnextsize(1) >= mnextsize(2), "mainQSort3(9)" );
+
+      mpush (nextLo[0], nextHi[0], nextD[0]);
+      mpush (nextLo[1], nextHi[1], nextD[1]);
+      mpush (nextLo[2], nextHi[2], nextD[2]);
+   }
+}
+
+#undef mswap
+#undef mvswap
+#undef mpush
+#undef mpop
+#undef mmin
+#undef mnextsize
+#undef mnextswap
+#undef MAIN_QSORT_SMALL_THRESH
+#undef MAIN_QSORT_DEPTH_THRESH
+#undef MAIN_QSORT_STACK_SIZE
+
+
+/*---------------------------------------------*/
+/* Pre:
+      nblock > N_OVERSHOOT
+      block32 exists for [0 .. nblock-1 +N_OVERSHOOT]
+      ((UChar*)block32) [0 .. nblock-1] holds block
+      ptr exists for [0 .. nblock-1]
+
+   Post:
+      ((UChar*)block32) [0 .. nblock-1] holds block
+      All other areas of block32 destroyed
+      ftab [0 .. 65536 ] destroyed
+      ptr [0 .. nblock-1] holds sorted order
+      if (*budget < 0), sorting was abandoned
+*/
+
+#define BIGFREQ(b) (ftab[((b)+1) << 8] - ftab[(b) << 8])
+#define SETMASK (1 << 21)
+#define CLEARMASK (~(SETMASK))
+
+static
+void mainSort ( UInt32* ptr, 
+                UChar*  block,
+                UInt16* quadrant, 
+                UInt32* ftab,
+                Int32   nblock,
+                Int32   verb,
+                Int32*  budget )
+{
+   Int32  i, j, k, ss, sb;
+   Int32  runningOrder[256];
+   Bool   bigDone[256];
+   Int32  copyStart[256];
+   Int32  copyEnd  [256];
+   UChar  c1;
+   Int32  numQSorted;
+   UInt16 s;
+   if (verb >= 4) VPrintf0 ( "        main sort initialise ...\n" );
+
+   /*-- set up the 2-byte frequency table --*/
+   for (i = 65536; i >= 0; i--) ftab[i] = 0;
+
+   j = block[0] << 8;
+   i = nblock-1;
+   for (; i >= 3; i -= 4) {
+      quadrant[i] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i]) << 8);
+      ftab[j]++;
+      quadrant[i-1] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i-1]) << 8);
+      ftab[j]++;
+      quadrant[i-2] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i-2]) << 8);
+      ftab[j]++;
+      quadrant[i-3] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i-3]) << 8);
+      ftab[j]++;
+   }
+   for (; i >= 0; i--) {
+      quadrant[i] = 0;
+      j = (j >> 8) | ( ((UInt16)block[i]) << 8);
+      ftab[j]++;
+   }
+
+   /*-- (emphasises close relationship of block & quadrant) --*/
+   for (i = 0; i < BZ_N_OVERSHOOT; i++) {
+      block   [nblock+i] = block[i];
+      quadrant[nblock+i] = 0;
+   }
+
+   if (verb >= 4) VPrintf0 ( "        bucket sorting ...\n" );
+
+   /*-- Complete the initial radix sort --*/
+   for (i = 1; i <= 65536; i++) ftab[i] += ftab[i-1];
+
+   s = block[0] << 8;
+   i = nblock-1;
+   for (; i >= 3; i -= 4) {
+      s = (s >> 8) | (block[i] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i;
+      s = (s >> 8) | (block[i-1] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i-1;
+      s = (s >> 8) | (block[i-2] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i-2;
+      s = (s >> 8) | (block[i-3] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i-3;
+   }
+   for (; i >= 0; i--) {
+      s = (s >> 8) | (block[i] << 8);
+      j = ftab[s] -1;
+      ftab[s] = j;
+      ptr[j] = i;
+   }
+
+   /*--
+      Now ftab contains the first loc of every small bucket.
+      Calculate the running order, from smallest to largest
+      big bucket.
+   --*/
+   for (i = 0; i <= 255; i++) {
+      bigDone     [i] = False;
+      runningOrder[i] = i;
+   }
+
+   {
+      Int32 vv;
+      Int32 h = 1;
+      do h = 3 * h + 1; while (h <= 256);
+      do {
+         h = h / 3;
+         for (i = h; i <= 255; i++) {
+            vv = runningOrder[i];
+            j = i;
+            while ( BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv) ) {
+               runningOrder[j] = runningOrder[j-h];
+               j = j - h;
+               if (j <= (h - 1)) goto zero;
+            }
+            zero:
+            runningOrder[j] = vv;
+         }
+      } while (h != 1);
+   }
+
+   /*--
+      The main sorting loop.
+   --*/
+
+   numQSorted = 0;
+
+   for (i = 0; i <= 255; i++) {
+
+      /*--
+         Process big buckets, starting with the least full.
+         Basically this is a 3-step process in which we call
+         mainQSort3 to sort the small buckets [ss, j], but
+         also make a big effort to avoid the calls if we can.
+      --*/
+      ss = runningOrder[i];
+
+      /*--
+         Step 1:
+         Complete the big bucket [ss] by quicksorting
+         any unsorted small buckets [ss, j], for j != ss.  
+         Hopefully previous pointer-scanning phases have already
+         completed many of the small buckets [ss, j], so
+         we don't have to sort them at all.
+      --*/
+      for (j = 0; j <= 255; j++) {
+         if (j != ss) {
+            sb = (ss << 8) + j;
+            if ( ! (ftab[sb] & SETMASK) ) {
+               Int32 lo = ftab[sb]   & CLEARMASK;
+               Int32 hi = (ftab[sb+1] & CLEARMASK) - 1;
+               if (hi > lo) {
+                  if (verb >= 4)
+                     VPrintf4 ( "        qsort [0x%x, 0x%x]   "
+                                "done %d   this %d\n",
+                                ss, j, numQSorted, hi - lo + 1 );
+                  mainQSort3 ( 
+                     ptr, block, quadrant, nblock, 
+                     lo, hi, BZ_N_RADIX, budget 
+                  );   
+                  numQSorted += (hi - lo + 1);
+                  if (*budget < 0) return;
+               }
+            }
+            ftab[sb] |= SETMASK;
+         }
+      }
+
+      AssertH ( !bigDone[ss], 1006 );
+
+      /*--
+         Step 2:
+         Now scan this big bucket [ss] so as to synthesise the
+         sorted order for small buckets [t, ss] for all t,
+         including, magically, the bucket [ss,ss] too.
+         This will avoid doing Real Work in subsequent Step 1's.
+      --*/
+      {
+         for (j = 0; j <= 255; j++) {
+            copyStart[j] =  ftab[(j << 8) + ss]     & CLEARMASK;
+            copyEnd  [j] = (ftab[(j << 8) + ss + 1] & CLEARMASK) - 1;
+         }
+         for (j = ftab[ss << 8] & CLEARMASK; j < copyStart[ss]; j++) {
+            k = ptr[j]-1; if (k < 0) k += nblock;
+            c1 = block[k];
+            if (!bigDone[c1])
+               ptr[ copyStart[c1]++ ] = k;
+         }
+         for (j = (ftab[(ss+1) << 8] & CLEARMASK) - 1; j > copyEnd[ss]; j--) {
+            k = ptr[j]-1; if (k < 0) k += nblock;
+            c1 = block[k];
+            if (!bigDone[c1]) 
+               ptr[ copyEnd[c1]-- ] = k;
+         }
+      }
+
+      AssertH ( (copyStart[ss]-1 == copyEnd[ss])
+                || 
+                /* Extremely rare case missing in bzip2-1.0.0 and 1.0.1.
+                   Necessity for this case is demonstrated by compressing 
+                   a sequence of approximately 48.5 million of character 
+                   251; 1.0.0/1.0.1 will then die here. */
+                (copyStart[ss] == 0 && copyEnd[ss] == nblock-1),
+                1007 )
+
+      for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
+
+      /*--
+         Step 3:
+         The [ss] big bucket is now done.  Record this fact,
+         and update the quadrant descriptors.  Remember to
+         update quadrants in the overshoot area too, if
+         necessary.  The "if (i < 255)" test merely skips
+         this updating for the last bucket processed, since
+         updating for the last bucket is pointless.
+
+         The quadrant array provides a way to incrementally
+         cache sort orderings, as they appear, so as to 
+         make subsequent comparisons in fullGtU() complete
+         faster.  For repetitive blocks this makes a big
+         difference (but not big enough to be able to avoid
+         the fallback sorting mechanism, exponential radix sort).
+
+         The precise meaning is: at all times:
+
+            for 0 <= i < nblock and 0 <= j <= nblock
+
+            if block[i] != block[j], 
+
+               then the relative values of quadrant[i] and 
+                    quadrant[j] are meaningless.
+
+               else {
+                  if quadrant[i] < quadrant[j]
+                     then the string starting at i lexicographically
+                     precedes the string starting at j
+
+                  else if quadrant[i] > quadrant[j]
+                     then the string starting at j lexicographically
+                     precedes the string starting at i
+
+                  else
+                     the relative ordering of the strings starting
+                     at i and j has not yet been determined.
+               }
+      --*/
+      bigDone[ss] = True;
+
+      if (i < 255) {
+         Int32 bbStart  = ftab[ss << 8] & CLEARMASK;
+         Int32 bbSize   = (ftab[(ss+1) << 8] & CLEARMASK) - bbStart;
+         Int32 shifts   = 0;
+
+         while ((bbSize >> shifts) > 65534) shifts++;
+
+         for (j = bbSize-1; j >= 0; j--) {
+            Int32 a2update     = ptr[bbStart + j];
+            UInt16 qVal        = (UInt16)(j >> shifts);
+            quadrant[a2update] = qVal;
+            if (a2update < BZ_N_OVERSHOOT)
+               quadrant[a2update + nblock] = qVal;
+         }
+         AssertH ( ((bbSize-1) >> shifts) <= 65535, 1002 );
+      }
+
+   }
+
+   if (verb >= 4)
+      VPrintf3 ( "        %d pointers, %d sorted, %d scanned\n",
+                 nblock, numQSorted, nblock - numQSorted );
+}
+
+#undef BIGFREQ
+#undef SETMASK
+#undef CLEARMASK
+
+
+/*---------------------------------------------*/
+/* Pre:
+      nblock > 0
+      arr2 exists for [0 .. nblock-1 +N_OVERSHOOT]
+      ((UChar*)arr2)  [0 .. nblock-1] holds block
+      arr1 exists for [0 .. nblock-1]
+
+   Post:
+      ((UChar*)arr2) [0 .. nblock-1] holds block
+      All other areas of block destroyed
+      ftab [ 0 .. 65536 ] destroyed
+      arr1 [0 .. nblock-1] holds sorted order
+*/
+void BZ2_blockSort ( EState* s )
+{
+   UInt32* ptr    = s->ptr; 
+   UChar*  block  = s->block;
+   UInt32* ftab   = s->ftab;
+   Int32   nblock = s->nblock;
+   Int32   verb   = s->verbosity;
+   Int32   wfact  = s->workFactor;
+   UInt16* quadrant;
+   Int32   budget;
+   Int32   budgetInit;
+   Int32   i;
+
+   if (nblock < 10000) {
+      fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
+   } else {
+      /* Calculate the location for quadrant, remembering to get
+         the alignment right.  Assumes that &(block[0]) is at least
+         2-byte aligned -- this should be ok since block is really
+         the first section of arr2.
+      */
+      i = nblock+BZ_N_OVERSHOOT;
+      if (i & 1) i++;
+      quadrant = (UInt16*)(&(block[i]));
+
+      /* (wfact-1) / 3 puts the default-factor-30
+         transition point at very roughly the same place as 
+         with v0.1 and v0.9.0.  
+         Not that it particularly matters any more, since the
+         resulting compressed stream is now the same regardless
+         of whether or not we use the main sort or fallback sort.
+      */
+      if (wfact < 1  ) wfact = 1;
+      if (wfact > 100) wfact = 100;
+      budgetInit = nblock * ((wfact-1) / 3);
+      budget = budgetInit;
+
+      mainSort ( ptr, block, quadrant, ftab, nblock, verb, &budget );
+      if (verb >= 3) 
+         VPrintf3 ( "      %d work, %d block, ratio %5.2f\n",
+                    budgetInit - budget,
+                    nblock, 
+                    (float)(budgetInit - budget) /
+                    (float)(nblock==0 ? 1 : nblock) ); 
+      if (budget < 0) {
+         if (verb >= 2) 
+            VPrintf0 ( "    too repetitive; using fallback"
+                       " sorting algorithm\n" );
+         fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
+      }
+   }
+
+   s->origPtr = -1;
+   for (i = 0; i < s->nblock; i++)
+      if (ptr[i] == 0)
+         { s->origPtr = i; break; };
+
+   AssertH( s->origPtr != -1, 1003 );
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                       blocksort.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/bz-common.xsl b/commands/bzip2-1.0.3/bz-common.xsl
new file mode 100644 (file)
index 0000000..66fcd6f
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0"?> <!-- -*- sgml -*- -->
+<xsl:stylesheet 
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- we like '1.2 Title' -->
+<xsl:param name="section.autolabel" select="'1'"/> 
+<xsl:param name="section.label.includes.component.label" select="'1'"/>
+
+<!-- Do not put 'Chapter' at the start of eg 'Chapter 1. Doing This' -->
+<xsl:param name="local.l10n.xml" select="document('')"/> 
+<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> 
+  <l:l10n language="en"> 
+    <l:context name="title-numbered">
+      <l:template name="chapter" text="%n.&#160;%t"/>
+    </l:context> 
+  </l:l10n>
+</l:i18n>
+
+<!-- don't generate sub-tocs for qanda sets -->
+<xsl:param name="generate.toc">
+set       toc,title
+book      toc,title,figure,table,example,equation
+chapter   toc,title
+section   toc
+sect1     toc
+sect2     toc
+sect3     toc
+sect4     nop
+sect5     nop
+qandaset  toc
+qandadiv  nop
+appendix  toc,title
+article/appendix  nop
+article   toc,title
+preface   toc,title
+reference toc,title
+</xsl:param>
+
+</xsl:stylesheet>
diff --git a/commands/bzip2-1.0.3/bz-fo.xsl b/commands/bzip2-1.0.3/bz-fo.xsl
new file mode 100644 (file)
index 0000000..7f2a767
--- /dev/null
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- sgml -*- -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+     xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
+<xsl:import href="bz-common.xsl"/>
+
+<!-- set indent = yes while debugging, then change to NO -->
+<xsl:output method="xml" indent="yes"/>
+
+<!-- ensure only passivetex extensions are on -->
+<xsl:param name="stylesheet.result.type" select="'fo'"/>
+<!-- fo extensions: PDF bookmarks and index terms -->
+<xsl:param name="use.extensions" select="'1'"/>
+<xsl:param name="xep.extensions" select="0"/>      
+<xsl:param name="fop.extensions" select="0"/>     
+<xsl:param name="saxon.extensions" select="0"/>   
+<xsl:param name="passivetex.extensions" select="1"/>
+<xsl:param name="tablecolumns.extension" select="'1'"/>
+
+<!-- ensure we are using single sided -->
+<xsl:param name="double.sided" select="'0'"/> 
+
+<!-- insert cross references to page numbers -->
+<xsl:param name="insert.xref.page.number" select="1"/>
+
+<!-- <?custom-pagebreak?> inserts a page break at this point -->
+<xsl:template match="processing-instruction('custom-pagebreak')">
+  <fo:block break-before='page'/>
+</xsl:template>
+
+<!-- show links in color -->
+<xsl:attribute-set name="xref.properties">
+  <xsl:attribute name="color">blue</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- make pre listings indented a bit + a bg colour -->
+<xsl:template match="programlisting | screen">
+  <fo:block start-indent="0.25in" wrap-option="no-wrap" 
+            white-space-collapse="false" text-align="start" 
+            font-family="monospace" background-color="#f2f2f9"
+            linefeed-treatment="preserve" 
+            xsl:use-attribute-sets="normal.para.spacing">
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+<!-- make verbatim output prettier -->
+<xsl:template match="literallayout">
+  <fo:block start-indent="0.25in" wrap-option="no-wrap" 
+            white-space-collapse="false" text-align="start" 
+            font-family="monospace" background-color="#edf7f4"
+            linefeed-treatment="preserve" 
+            space-before="0em" space-after="0em">
+    <xsl:apply-templates/>
+  </fo:block>
+</xsl:template>
+
+<!-- workaround bug in passivetex fo output for itemizedlist -->
+<xsl:template match="itemizedlist/listitem">
+  <xsl:variable name="id">
+  <xsl:call-template name="object.id"/></xsl:variable>
+  <xsl:variable name="itemsymbol">
+    <xsl:call-template name="list.itemsymbol">
+      <xsl:with-param name="node" select="parent::itemizedlist"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:variable name="item.contents">
+    <fo:list-item-label end-indent="label-end()">
+      <fo:block>
+        <xsl:choose>
+          <xsl:when test="$itemsymbol='disc'">&#x2022;</xsl:when>
+          <xsl:when test="$itemsymbol='bullet'">&#x2022;</xsl:when>
+          <xsl:otherwise>&#x2022;</xsl:otherwise>
+        </xsl:choose>
+      </fo:block>
+    </fo:list-item-label>
+    <fo:list-item-body start-indent="body-start()">
+      <xsl:apply-templates/>    <!-- removed extra block wrapper -->
+    </fo:list-item-body>
+  </xsl:variable>
+  <xsl:choose>
+    <xsl:when test="parent::*/@spacing = 'compact'">
+      <fo:list-item id="{$id}" 
+          xsl:use-attribute-sets="compact.list.item.spacing">
+        <xsl:copy-of select="$item.contents"/>
+      </fo:list-item>
+    </xsl:when>
+    <xsl:otherwise>
+      <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
+        <xsl:copy-of select="$item.contents"/>
+      </fo:list-item>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- workaround bug in passivetex fo output for orderedlist -->
+<xsl:template match="orderedlist/listitem">
+  <xsl:variable name="id">
+  <xsl:call-template name="object.id"/></xsl:variable>
+  <xsl:variable name="item.contents">
+    <fo:list-item-label end-indent="label-end()">
+      <fo:block>
+        <xsl:apply-templates select="." mode="item-number"/>
+      </fo:block>
+    </fo:list-item-label>
+    <fo:list-item-body start-indent="body-start()">
+      <xsl:apply-templates/>    <!-- removed extra block wrapper -->
+    </fo:list-item-body>
+  </xsl:variable>
+  <xsl:choose>
+    <xsl:when test="parent::*/@spacing = 'compact'">
+      <fo:list-item id="{$id}" 
+          xsl:use-attribute-sets="compact.list.item.spacing">
+        <xsl:copy-of select="$item.contents"/>
+      </fo:list-item>
+    </xsl:when>
+    <xsl:otherwise>
+      <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
+        <xsl:copy-of select="$item.contents"/>
+      </fo:list-item>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- workaround bug in passivetex fo output for variablelist -->
+<xsl:param name="variablelist.as.blocks" select="1"/>
+<xsl:template match="varlistentry" mode="vl.as.blocks">
+  <xsl:variable name="id">
+    <xsl:call-template name="object.id"/></xsl:variable>
+  <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"  
+      keep-together.within-column="always" 
+      keep-with-next.within-column="always">
+    <xsl:apply-templates select="term"/>
+  </fo:block>
+  <fo:block start-indent="0.5in" end-indent="0in" 
+            space-after.minimum="0.2em" 
+            space-after.optimum="0.4em" 
+            space-after.maximum="0.6em">
+    <fo:block>
+      <xsl:apply-templates select="listitem"/>
+    </fo:block>
+  </fo:block>
+</xsl:template>
+
+
+<!-- workaround bug in footers: force right-align w/two 80|30 cols -->
+<xsl:template name="footer.table">
+  <xsl:param name="pageclass" select="''"/>
+  <xsl:param name="sequence" select="''"/>
+  <xsl:param name="gentext-key" select="''"/>
+  <xsl:choose>
+    <xsl:when test="$pageclass = 'index'">
+      <xsl:attribute name="margin-left">0pt</xsl:attribute>
+    </xsl:when>
+  </xsl:choose>
+  <xsl:variable name="candidate">
+    <fo:table table-layout="fixed" width="100%">
+      <fo:table-column column-number="1" column-width="80%"/>
+      <fo:table-column column-number="2" column-width="20%"/>
+      <fo:table-body>
+        <fo:table-row height="14pt">
+          <fo:table-cell text-align="left" display-align="after">
+            <xsl:attribute name="relative-align">baseline</xsl:attribute>
+            <fo:block> 
+              <fo:block> </fo:block><!-- empty cell -->
+            </fo:block>
+          </fo:table-cell>
+          <fo:table-cell text-align="center" display-align="after">
+            <xsl:attribute name="relative-align">baseline</xsl:attribute>
+            <fo:block>
+              <xsl:call-template name="footer.content">
+                <xsl:with-param name="pageclass" select="$pageclass"/>
+                <xsl:with-param name="sequence" select="$sequence"/>
+                <xsl:with-param name="position" select="'center'"/>
+                <xsl:with-param name="gentext-key" select="$gentext-key"/>
+              </xsl:call-template>
+            </fo:block>
+          </fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+  </xsl:variable>
+  <!-- Really output a footer? -->
+  <xsl:choose>
+    <xsl:when test="$pageclass='titlepage' and $gentext-key='book'
+                    and $sequence='first'">
+      <!-- no, book titlepages have no footers at all -->
+    </xsl:when>
+    <xsl:when test="$sequence = 'blank' and $footers.on.blank.pages = 0">
+      <!-- no output -->
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:copy-of select="$candidate"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+
+<!-- fix bug in headers: force right-align w/two 40|60 cols -->
+<xsl:template name="header.table">
+  <xsl:param name="pageclass" select="''"/>
+  <xsl:param name="sequence" select="''"/>
+  <xsl:param name="gentext-key" select="''"/>
+  <xsl:choose>
+    <xsl:when test="$pageclass = 'index'">
+      <xsl:attribute name="margin-left">0pt</xsl:attribute>
+    </xsl:when>
+  </xsl:choose>
+  <xsl:variable name="candidate">
+    <fo:table table-layout="fixed" width="100%">
+      <xsl:call-template name="head.sep.rule">
+        <xsl:with-param name="pageclass" select="$pageclass"/>
+        <xsl:with-param name="sequence" select="$sequence"/>
+        <xsl:with-param name="gentext-key" select="$gentext-key"/>
+      </xsl:call-template>
+      <fo:table-column column-number="1" column-width="40%"/>
+      <fo:table-column column-number="2" column-width="60%"/>
+      <fo:table-body>
+        <fo:table-row height="14pt">
+          <fo:table-cell text-align="left" display-align="before">
+            <xsl:attribute name="relative-align">baseline</xsl:attribute>
+            <fo:block>
+              <fo:block> </fo:block><!-- empty cell -->
+            </fo:block>
+          </fo:table-cell>
+          <fo:table-cell text-align="center" display-align="before">
+            <xsl:attribute name="relative-align">baseline</xsl:attribute>
+            <fo:block>
+              <xsl:call-template name="header.content">
+                <xsl:with-param name="pageclass" select="$pageclass"/>
+                <xsl:with-param name="sequence" select="$sequence"/>
+                <xsl:with-param name="position" select="'center'"/>
+                <xsl:with-param name="gentext-key" select="$gentext-key"/>
+              </xsl:call-template>
+            </fo:block>
+          </fo:table-cell>
+        </fo:table-row>
+      </fo:table-body>
+    </fo:table>
+  </xsl:variable>
+  <!-- Really output a header? -->
+  <xsl:choose>
+    <xsl:when test="$pageclass = 'titlepage' and $gentext-key = 'book'
+                    and $sequence='first'">
+      <!-- no, book titlepages have no headers at all -->
+    </xsl:when>
+    <xsl:when test="$sequence = 'blank' and $headers.on.blank.pages = 0">
+      <!-- no output -->
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:copy-of select="$candidate"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+
+</xsl:stylesheet>
diff --git a/commands/bzip2-1.0.3/bz-html.xsl b/commands/bzip2-1.0.3/bz-html.xsl
new file mode 100644 (file)
index 0000000..1785fff
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?> <!-- -*- sgml -*- -->
+<!DOCTYPE xsl:stylesheet [ <!ENTITY bz-css SYSTEM "./bzip.css"> ]>
+
+<xsl:stylesheet 
+   xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
+<xsl:import href="bz-common.xsl"/>
+
+<!-- use 8859-1 encoding -->
+<xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>
+
+<!-- we include the css directly when generating one large file -->
+<xsl:template name="user.head.content">  
+  <style type="text/css" media="screen">
+    <xsl:text>&bz-css;</xsl:text>
+  </style>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/commands/bzip2-1.0.3/bzdiff b/commands/bzip2-1.0.3/bzdiff
new file mode 100644 (file)
index 0000000..3c2eb85
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
+
+# Bzcmp/diff wrapped for bzip2, 
+# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
+
+# Bzcmp and bzdiff are used to invoke the cmp or the  diff  pro-
+# gram  on compressed files.  All options specified are passed
+# directly to cmp or diff.  If only 1 file is specified,  then
+# the  files  compared  are file1 and an uncompressed file1.gz.
+# If two files are specified, then they are  uncompressed  (if
+# necessary) and fed to cmp or diff.  The exit status from cmp
+# or diff is preserved.
+
+PATH="/usr/bin:$PATH"; export PATH
+prog=`echo $0 | sed 's|.*/||'`
+case "$prog" in
+  *cmp) comp=${CMP-cmp}   ;;
+  *)    comp=${DIFF-diff} ;;
+esac
+
+OPTIONS=
+FILES=
+for ARG
+do
+    case "$ARG" in
+    -*)        OPTIONS="$OPTIONS $ARG";;
+     *)        if test -f "$ARG"; then
+            FILES="$FILES $ARG"
+        else
+            echo "${prog}: $ARG not found or not a regular file"
+           exit 1
+        fi ;;
+    esac
+done
+if test -z "$FILES"; then
+       echo "Usage: $prog [${comp}_options] file [file]"
+       exit 1
+fi
+tmp=`tempfile -d /tmp -p bz` || {
+      echo 'cannot create a temporary file' >&2
+      exit 1
+}
+set $FILES
+if test $# -eq 1; then
+       FILE=`echo "$1" | sed 's/.bz2$//'`
+       bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
+       STAT="$?"
+
+elif test $# -eq 2; then
+       case "$1" in
+        *.bz2)
+                case "$2" in
+               *.bz2)
+                       F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
+                        bzip2 -cdfq "$2" > $tmp
+                        bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
+                        STAT="$?"
+                       /bin/rm -f $tmp;;
+
+                *)      bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
+                        STAT="$?";;
+                esac;;
+        *)      case "$2" in
+               *.bz2)
+                        bzip2 -cdfq "$2" | $comp $OPTIONS "$1" -
+                        STAT="$?";;
+                *)      $comp $OPTIONS "$1" "$2"
+                        STAT="$?";;
+                esac;;
+       esac
+        exit "$STAT"
+else
+       echo "Usage: $prog [${comp}_options] file [file]"
+       exit 1
+fi
diff --git a/commands/bzip2-1.0.3/bzdiff.1 b/commands/bzip2-1.0.3/bzdiff.1
new file mode 100644 (file)
index 0000000..adb7a8e
--- /dev/null
@@ -0,0 +1,47 @@
+\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
+\"for Debian GNU/Linux
+.TH BZDIFF 1
+.SH NAME
+bzcmp, bzdiff \- compare bzip2 compressed files
+.SH SYNOPSIS
+.B bzcmp
+[ cmp_options ] file1
+[ file2 ]
+.br
+.B bzdiff
+[ diff_options ] file1
+[ file2 ]
+.SH DESCRIPTION
+.I  Bzcmp
+and 
+.I bzdiff
+are used to invoke the
+.I cmp
+or the
+.I diff
+program on bzip2 compressed files.  All options specified are passed
+directly to
+.I cmp
+or
+.IR diff "."
+If only 1 file is specified, then the files compared are
+.I file1
+and an uncompressed
+.IR file1 ".bz2."
+If two files are specified, then they are uncompressed if necessary and fed to
+.I cmp
+or
+.IR diff "."
+The exit status from 
+.I cmp
+or
+.I diff
+is preserved.
+.SH "SEE ALSO"
+cmp(1), diff(1), bzmore(1), bzless(1), bzgrep(1), bzip2(1)
+.SH BUGS
+Messages from the
+.I cmp
+or
+.I diff
+programs refer to temporary filenames instead of those specified.
diff --git a/commands/bzip2-1.0.3/bzgrep b/commands/bzip2-1.0.3/bzgrep
new file mode 100644 (file)
index 0000000..dbfc00e
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+# Bzgrep wrapped for bzip2, 
+# adapted from zgrep by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
+## zgrep notice:
+## zgrep -- a wrapper around a grep program that decompresses files as needed
+## Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
+
+PATH="/usr/bin:$PATH"; export PATH
+
+prog=`echo $0 | sed 's|.*/||'`
+case "$prog" in
+       *egrep) grep=${EGREP-egrep}     ;;
+       *fgrep) grep=${FGREP-fgrep}     ;;
+       *)      grep=${GREP-grep}       ;;
+esac
+pat=""
+while test $# -ne 0; do
+  case "$1" in
+  -e | -f) opt="$opt $1"; shift; pat="$1"
+           if test "$grep" = grep; then  # grep is buggy with -e on SVR4
+             grep=egrep
+           fi;;
+  -A | -B) opt="$opt $1 $2"; shift;;
+  -*)     opt="$opt $1";;
+   *)      if test -z "$pat"; then
+            pat="$1"
+          else
+            break;
+           fi;;
+  esac
+  shift
+done
+
+if test -z "$pat"; then
+  echo "grep through bzip2 files"
+  echo "usage: $prog [grep_options] pattern [files]"
+  exit 1
+fi
+
+list=0
+silent=0
+op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
+case "$op" in
+  *l*) list=1
+esac
+case "$op" in
+  *h*) silent=1
+esac
+
+if test $# -eq 0; then
+  bzip2 -cdfq | $grep $opt "$pat"
+  exit $?
+fi
+
+res=0
+for i do
+  if test -f "$i"; then :; else if test -f "$i.bz2"; then i="$i.bz2"; fi; fi
+  if test $list -eq 1; then
+    bzip2 -cdfq "$i" | $grep $opt "$pat" 2>&1 > /dev/null && echo $i
+    r=$?
+  elif test $# -eq 1 -o $silent -eq 1; then
+    bzip2 -cdfq "$i" | $grep $opt "$pat"
+    r=$?
+  else
+    bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${i}:|"
+    r=$?
+  fi
+  test "$r" -ne 0 && res="$r"
+done
+exit $res
diff --git a/commands/bzip2-1.0.3/bzgrep.1 b/commands/bzip2-1.0.3/bzgrep.1
new file mode 100644 (file)
index 0000000..930af8c
--- /dev/null
@@ -0,0 +1,56 @@
+\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
+\"for Debian GNU/Linux
+.TH BZGREP 1
+.SH NAME
+bzgrep, bzfgrep, bzegrep \- search possibly bzip2 compressed files for a regular expression
+.SH SYNOPSIS
+.B bzgrep
+[ grep_options ]
+.BI  [\ -e\ ] " pattern"
+.IR filename ".\|.\|."
+.br
+.B bzegrep
+[ egrep_options ]
+.BI  [\ -e\ ] " pattern"
+.IR filename ".\|.\|."
+.br
+.B bzfgrep
+[ fgrep_options ]
+.BI  [\ -e\ ] " pattern"
+.IR filename ".\|.\|."
+.SH DESCRIPTION
+.IR  Bzgrep
+is used to invoke the
+.I grep
+on bzip2-compressed files. All options specified are passed directly to
+.I grep.
+If no file is specified, then the standard input is decompressed
+if necessary and fed to grep.
+Otherwise the given files are uncompressed if necessary and fed to
+.I grep.
+.PP
+If
+.I bzgrep
+is invoked as
+.I bzegrep
+or
+.I bzfgrep
+then
+.I egrep
+or
+.I fgrep
+is used instead of
+.I grep.
+If the GREP environment variable is set,
+.I bzgrep
+uses it as the
+.I grep
+program to be invoked. For example:
+
+    for sh:  GREP=fgrep  bzgrep string files
+    for csh: (setenv GREP fgrep; bzgrep string files)
+.SH AUTHOR
+Charles Levert (charles@comm.polymtl.ca). Adapted to bzip2 by Philippe
+Troin <phil@fifi.org> for Debian GNU/Linux.
+.SH "SEE ALSO"
+grep(1), egrep(1), fgrep(1), bzdiff(1), bzmore(1), bzless(1), bzip2(1)
diff --git a/commands/bzip2-1.0.3/bzip.css b/commands/bzip2-1.0.3/bzip.css
new file mode 100644 (file)
index 0000000..43193d8
--- /dev/null
@@ -0,0 +1,74 @@
+/* Colours:
+#74240f  dark brown      h1, h2, h3, h4
+#336699  medium blue     links
+#339999  turquoise       link hover colour
+#202020  almost black    general text
+#761596  purple          md5sum text
+#626262  dark gray       pre border
+#eeeeee  very light gray pre background
+#f2f2f9  very light blue nav table background
+#3366cc  medium blue     nav table border
+*/
+
+a, a:link, a:visited, a:active { color: #336699; }
+a:hover { color: #339999; }
+
+body { font: 80%/126% sans-serif; }
+h1, h2, h3, h4 { color: #74240f; }
+
+dt { color: #336699; font-weight: bold }
+dd { 
+ margin-left: 1.5em; 
+ padding-bottom: 0.8em;
+}
+
+/* -- ruler -- */
+div.hr_blue { 
+  height:  3px; 
+  background:#ffffff url("/images/hr_blue.png") repeat-x; }
+div.hr_blue hr { display:none; }
+
+/* release styles */
+#release p { margin-top: 0.4em; }
+#release .md5sum { color: #761596; }
+
+
+/* ------ styles for docs|manuals|howto ------ */
+/* -- lists -- */
+ul  { 
+ margin:     0px 4px 16px 16px;
+ padding:    0px;
+ list-style: url("/images/li-blue.png"); 
+}
+ul li { 
+ margin-bottom: 10px;
+}
+ul ul  { 
+ list-style-type:  none; 
+ list-style-image: none; 
+ margin-left:      0px; 
+}
+
+/* header / footer nav tables */
+table.nav {
+ border:     solid 1px #3366cc;
+ background: #f2f2f9;
+ background-color: #f2f2f9;
+ margin-bottom: 0.5em;
+}
+/* don't have underlined links in chunked nav menus */
+table.nav a { text-decoration: none; }
+table.nav a:hover { text-decoration: underline; }
+table.nav td { font-size: 85%; }
+
+code, tt, pre { font-size: 120%; }
+code, tt { color: #761596; }
+
+div.literallayout, pre.programlisting, pre.screen {
+ color:      #000000;
+ padding:    0.5em;
+ background: #eeeeee;
+ border:     1px solid #626262;
+ background-color: #eeeeee;
+ margin: 4px 0px 4px 0px; 
+}
diff --git a/commands/bzip2-1.0.3/bzip2.1 b/commands/bzip2-1.0.3/bzip2.1
new file mode 100644 (file)
index 0000000..d2c0661
--- /dev/null
@@ -0,0 +1,454 @@
+.PU
+.TH bzip2 1
+.SH NAME
+bzip2, bunzip2 \- a block-sorting file compressor, v1.0.3
+.br
+bzcat \- decompresses files to stdout
+.br
+bzip2recover \- recovers data from damaged bzip2 files
+
+.SH SYNOPSIS
+.ll +8
+.B bzip2
+.RB [ " \-cdfkqstvzVL123456789 " ]
+[
+.I "filenames \&..."
+]
+.ll -8
+.br
+.B bunzip2
+.RB [ " \-fkvsVL " ]
+[ 
+.I "filenames \&..."
+]
+.br
+.B bzcat
+.RB [ " \-s " ]
+[ 
+.I "filenames \&..."
+]
+.br
+.B bzip2recover
+.I "filename"
+
+.SH DESCRIPTION
+.I bzip2
+compresses files using the Burrows-Wheeler block sorting
+text compression algorithm, and Huffman coding.  Compression is
+generally considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of the PPM
+family of statistical compressors.
+
+The command-line options are deliberately very similar to 
+those of 
+.I GNU gzip, 
+but they are not identical.
+
+.I bzip2
+expects a list of file names to accompany the
+command-line flags.  Each file is replaced by a compressed version of
+itself, with the name "original_name.bz2".  
+Each compressed file
+has the same modification date, permissions, and, when possible,
+ownership as the corresponding original, so that these properties can
+be correctly restored at decompression time.  File name handling is
+naive in the sense that there is no mechanism for preserving original
+file names, permissions, ownerships or dates in filesystems which lack
+these concepts, or have serious file name length restrictions, such as
+MS-DOS.
+
+.I bzip2
+and
+.I bunzip2
+will by default not overwrite existing
+files.  If you want this to happen, specify the \-f flag.
+
+If no file names are specified,
+.I bzip2
+compresses from standard
+input to standard output.  In this case,
+.I bzip2
+will decline to
+write compressed output to a terminal, as this would be entirely
+incomprehensible and therefore pointless.
+
+.I bunzip2
+(or
+.I bzip2 \-d) 
+decompresses all
+specified files.  Files which were not created by 
+.I bzip2
+will be detected and ignored, and a warning issued.  
+.I bzip2
+attempts to guess the filename for the decompressed file 
+from that of the compressed file as follows:
+
+       filename.bz2    becomes   filename
+       filename.bz     becomes   filename
+       filename.tbz2   becomes   filename.tar
+       filename.tbz    becomes   filename.tar
+       anyothername    becomes   anyothername.out
+
+If the file does not end in one of the recognised endings, 
+.I .bz2, 
+.I .bz, 
+.I .tbz2
+or
+.I .tbz, 
+.I bzip2 
+complains that it cannot
+guess the name of the original file, and uses the original name
+with
+.I .out
+appended.
+
+As with compression, supplying no
+filenames causes decompression from 
+standard input to standard output.
+
+.I bunzip2 
+will correctly decompress a file which is the
+concatenation of two or more compressed files.  The result is the
+concatenation of the corresponding uncompressed files.  Integrity
+testing (\-t) 
+of concatenated 
+compressed files is also supported.
+
+You can also compress or decompress files to the standard output by
+giving the \-c flag.  Multiple files may be compressed and
+decompressed like this.  The resulting outputs are fed sequentially to
+stdout.  Compression of multiple files 
+in this manner generates a stream
+containing multiple compressed file representations.  Such a stream
+can be decompressed correctly only by
+.I bzip2 
+version 0.9.0 or
+later.  Earlier versions of
+.I bzip2
+will stop after decompressing
+the first file in the stream.
+
+.I bzcat
+(or
+.I bzip2 -dc) 
+decompresses all specified files to
+the standard output.
+
+.I bzip2
+will read arguments from the environment variables
+.I BZIP2
+and
+.I BZIP,
+in that order, and will process them
+before any arguments read from the command line.  This gives a 
+convenient way to supply default arguments.
+
+Compression is always performed, even if the compressed 
+file is slightly
+larger than the original.  Files of less than about one hundred bytes
+tend to get larger, since the compression mechanism has a constant
+overhead in the region of 50 bytes.  Random data (including the output
+of most file compressors) is coded at about 8.05 bits per byte, giving
+an expansion of around 0.5%.
+
+As a self-check for your protection, 
+.I 
+bzip2
+uses 32-bit CRCs to
+make sure that the decompressed version of a file is identical to the
+original.  This guards against corruption of the compressed data, and
+against undetected bugs in
+.I bzip2
+(hopefully very unlikely).  The
+chances of data corruption going undetected is microscopic, about one
+chance in four billion for each file processed.  Be aware, though, that
+the check occurs upon decompression, so it can only tell you that
+something is wrong.  It can't help you 
+recover the original uncompressed
+data.  You can use 
+.I bzip2recover
+to try to recover data from
+damaged files.
+
+Return values: 0 for a normal exit, 1 for environmental problems (file
+not found, invalid flags, I/O errors, &c), 2 to indicate a corrupt
+compressed file, 3 for an internal consistency error (eg, bug) which
+caused
+.I bzip2
+to panic.
+
+.SH OPTIONS
+.TP
+.B \-c --stdout
+Compress or decompress to standard output.
+.TP
+.B \-d --decompress
+Force decompression.  
+.I bzip2, 
+.I bunzip2 
+and
+.I bzcat 
+are
+really the same program, and the decision about what actions to take is
+done on the basis of which name is used.  This flag overrides that
+mechanism, and forces 
+.I bzip2
+to decompress.
+.TP
+.B \-z --compress
+The complement to \-d: forces compression, regardless of the
+invocation name.
+.TP
+.B \-t --test
+Check integrity of the specified file(s), but don't decompress them.
+This really performs a trial decompression and throws away the result.
+.TP
+.B \-f --force
+Force overwrite of output files.  Normally,
+.I bzip2 
+will not overwrite
+existing output files.  Also forces 
+.I bzip2 
+to break hard links
+to files, which it otherwise wouldn't do.
+
+bzip2 normally declines to decompress files which don't have the
+correct magic header bytes.  If forced (-f), however, it will pass
+such files through unmodified.  This is how GNU gzip behaves.
+.TP
+.B \-k --keep
+Keep (don't delete) input files during compression
+or decompression.
+.TP
+.B \-s --small
+Reduce memory usage, for compression, decompression and testing.  Files
+are decompressed and tested using a modified algorithm which only
+requires 2.5 bytes per block byte.  This means any file can be
+decompressed in 2300k of memory, albeit at about half the normal speed.
+
+During compression, \-s selects a block size of 200k, which limits
+memory use to around the same figure, at the expense of your compression
+ratio.  In short, if your machine is low on memory (8 megabytes or
+less), use \-s for everything.  See MEMORY MANAGEMENT below.
+.TP
+.B \-q --quiet
+Suppress non-essential warning messages.  Messages pertaining to
+I/O errors and other critical events will not be suppressed.
+.TP
+.B \-v --verbose
+Verbose mode -- show the compression ratio for each file processed.
+Further \-v's increase the verbosity level, spewing out lots of
+information which is primarily of interest for diagnostic purposes.
+.TP
+.B \-L --license -V --version
+Display the software version, license terms and conditions.
+.TP
+.B \-1 (or \-\-fast) to \-9 (or \-\-best)
+Set the block size to 100 k, 200 k ..  900 k when compressing.  Has no
+effect when decompressing.  See MEMORY MANAGEMENT below.
+The \-\-fast and \-\-best aliases are primarily for GNU gzip 
+compatibility.  In particular, \-\-fast doesn't make things
+significantly faster.  
+And \-\-best merely selects the default behaviour.
+.TP
+.B \--
+Treats all subsequent arguments as file names, even if they start
+with a dash.  This is so you can handle files with names beginning
+with a dash, for example: bzip2 \-- \-myfilename.
+.TP
+.B \--repetitive-fast --repetitive-best
+These flags are redundant in versions 0.9.5 and above.  They provided
+some coarse control over the behaviour of the sorting algorithm in
+earlier versions, which was sometimes useful.  0.9.5 and above have an
+improved algorithm which renders these flags irrelevant.
+
+.SH MEMORY MANAGEMENT
+.I bzip2 
+compresses large files in blocks.  The block size affects
+both the compression ratio achieved, and the amount of memory needed for
+compression and decompression.  The flags \-1 through \-9
+specify the block size to be 100,000 bytes through 900,000 bytes (the
+default) respectively.  At decompression time, the block size used for
+compression is read from the header of the compressed file, and
+.I bunzip2
+then allocates itself just enough memory to decompress
+the file.  Since block sizes are stored in compressed files, it follows
+that the flags \-1 to \-9 are irrelevant to and so ignored
+during decompression.
+
+Compression and decompression requirements, 
+in bytes, can be estimated as:
+
+       Compression:   400k + ( 8 x block size )
+
+       Decompression: 100k + ( 4 x block size ), or
+                      100k + ( 2.5 x block size )
+
+Larger block sizes give rapidly diminishing marginal returns.  Most of
+the compression comes from the first two or three hundred k of block
+size, a fact worth bearing in mind when using
+.I bzip2
+on small machines.
+It is also important to appreciate that the decompression memory
+requirement is set at compression time by the choice of block size.
+
+For files compressed with the default 900k block size,
+.I bunzip2
+will require about 3700 kbytes to decompress.  To support decompression
+of any file on a 4 megabyte machine, 
+.I bunzip2
+has an option to
+decompress using approximately half this amount of memory, about 2300
+kbytes.  Decompression speed is also halved, so you should use this
+option only where necessary.  The relevant flag is -s.
+
+In general, try and use the largest block size memory constraints allow,
+since that maximises the compression achieved.  Compression and
+decompression speed are virtually unaffected by block size.
+
+Another significant point applies to files which fit in a single block
+-- that means most files you'd encounter using a large block size.  The
+amount of real memory touched is proportional to the size of the file,
+since the file is smaller than a block.  For example, compressing a file
+20,000 bytes long with the flag -9 will cause the compressor to
+allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
+kbytes of it.  Similarly, the decompressor will allocate 3700k but only
+touch 100k + 20000 * 4 = 180 kbytes.
+
+Here is a table which summarises the maximum memory usage for different
+block sizes.  Also recorded is the total compressed size for 14 files of
+the Calgary Text Compression Corpus totalling 3,141,622 bytes.  This
+column gives some feel for how compression varies with block size.
+These figures tend to understate the advantage of larger block sizes for
+larger files, since the Corpus is dominated by smaller files.
+
+           Compress   Decompress   Decompress   Corpus
+    Flag     usage      usage       -s usage     Size
+
+     -1      1200k       500k         350k      914704
+     -2      2000k       900k         600k      877703
+     -3      2800k      1300k         850k      860338
+     -4      3600k      1700k        1100k      846899
+     -5      4400k      2100k        1350k      845160
+     -6      5200k      2500k        1600k      838626
+     -7      6100k      2900k        1850k      834096
+     -8      6800k      3300k        2100k      828642
+     -9      7600k      3700k        2350k      828642
+
+.SH RECOVERING DATA FROM DAMAGED FILES
+.I bzip2
+compresses files in blocks, usually 900kbytes long.  Each
+block is handled independently.  If a media or transmission error causes
+a multi-block .bz2
+file to become damaged, it may be possible to
+recover data from the undamaged blocks in the file.
+
+The compressed representation of each block is delimited by a 48-bit
+pattern, which makes it possible to find the block boundaries with
+reasonable certainty.  Each block also carries its own 32-bit CRC, so
+damaged blocks can be distinguished from undamaged ones.
+
+.I bzip2recover
+is a simple program whose purpose is to search for
+blocks in .bz2 files, and write each block out into its own .bz2 
+file.  You can then use
+.I bzip2 
+\-t
+to test the
+integrity of the resulting files, and decompress those which are
+undamaged.
+
+.I bzip2recover
+takes a single argument, the name of the damaged file, 
+and writes a number of files "rec00001file.bz2",
+"rec00002file.bz2", etc, containing the  extracted  blocks.
+The  output  filenames  are  designed  so  that the use of
+wildcards in subsequent processing -- for example,  
+"bzip2 -dc  rec*file.bz2 > recovered_data" -- processes the files in
+the correct order.
+
+.I bzip2recover
+should be of most use dealing with large .bz2
+files,  as  these will contain many blocks.  It is clearly
+futile to use it on damaged single-block  files,  since  a
+damaged  block  cannot  be recovered.  If you wish to minimise 
+any potential data loss through media  or  transmission errors, 
+you might consider compressing with a smaller
+block size.
+
+.SH PERFORMANCE NOTES
+The sorting phase of compression gathers together similar strings in the
+file.  Because of this, files containing very long runs of repeated
+symbols, like "aabaabaabaab ..."  (repeated several hundred times) may
+compress more slowly than normal.  Versions 0.9.5 and above fare much
+better than previous versions in this respect.  The ratio between
+worst-case and average-case compression time is in the region of 10:1.
+For previous versions, this figure was more like 100:1.  You can use the
+\-vvvv option to monitor progress in great detail, if you want.
+
+Decompression speed is unaffected by these phenomena.
+
+.I bzip2
+usually allocates several megabytes of memory to operate
+in, and then charges all over it in a fairly random fashion.  This means
+that performance, both for compressing and decompressing, is largely
+determined by the speed at which your machine can service cache misses.
+Because of this, small changes to the code to reduce the miss rate have
+been observed to give disproportionately large performance improvements.
+I imagine 
+.I bzip2
+will perform best on machines with very large caches.
+
+.SH CAVEATS
+I/O error messages are not as helpful as they could be.
+.I bzip2
+tries hard to detect I/O errors and exit cleanly, but the details of
+what the problem is sometimes seem rather misleading.
+
+This manual page pertains to version 1.0.3 of
+.I bzip2.  
+Compressed data created by this version is entirely forwards and
+backwards compatible with the previous public releases, versions
+0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and 1.0.2, but with the following
+exception: 0.9.0 and above can correctly decompress multiple
+concatenated compressed files.  0.1pl2 cannot do this; it will stop
+after decompressing just the first file in the stream.
+
+.I bzip2recover
+versions prior to 1.0.2 used 32-bit integers to represent
+bit positions in compressed files, so they could not handle compressed
+files more than 512 megabytes long.  Versions 1.0.2 and above use
+64-bit ints on some platforms which support them (GNU supported
+targets, and Windows).  To establish whether or not bzip2recover was
+built with such a limitation, run it without arguments.  In any event
+you can build yourself an unlimited version if you can recompile it
+with MaybeUInt64 set to be an unsigned 64-bit integer.
+
+
+
+.SH AUTHOR
+Julian Seward, jsewardbzip.org.
+
+http://www.bzip.org
+
+The ideas embodied in
+.I bzip2
+are due to (at least) the following
+people: Michael Burrows and David Wheeler (for the block sorting
+transformation), David Wheeler (again, for the Huffman coder), Peter
+Fenwick (for the structured coding model in the original
+.I bzip,
+and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
+(for the arithmetic coder in the original
+.I bzip).  
+I am much
+indebted for their help, support and advice.  See the manual in the
+source distribution for pointers to sources of documentation.  Christian
+von Roques encouraged me to look for faster sorting algorithms, so as to
+speed up compression.  Bela Lubkin encouraged me to improve the
+worst-case compression performance.  
+Donna Robinson XMLised the documentation.
+The bz* scripts are derived from those of GNU gzip.
+Many people sent patches, helped
+with portability problems, lent machines, gave advice and were generally
+helpful.
diff --git a/commands/bzip2-1.0.3/bzip2.1.preformatted b/commands/bzip2-1.0.3/bzip2.1.preformatted
new file mode 100644 (file)
index 0000000..129ca83
--- /dev/null
@@ -0,0 +1,399 @@
+bzip2(1)                                                 bzip2(1)
+
+
+
+N\bNA\bAM\bME\bE
+       bzip2, bunzip2 − a block‐sorting file compressor, v1.0.3
+       bzcat − decompresses files to stdout
+       bzip2recover − recovers data from damaged bzip2 files
+
+
+S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
+       b\bbz\bzi\bip\bp2\b2 [ −\b−c\bcd\bdf\bfk\bkq\bqs\bst\btv\bvz\bzV\bVL\bL1\b12\b23\b34\b45\b56\b67\b78\b89\b9 ] [ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\bs _\b._\b._\b.  ]
+       b\bbu\bun\bnz\bzi\bip\bp2\b2 [ −\b−f\bfk\bkv\bvs\bsV\bVL\bL ] [ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\bs _\b._\b._\b.  ]
+       b\bbz\bzc\bca\bat\bt [ −\b−s\bs ] [ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\bs _\b._\b._\b.  ]
+       b\bbz\bzi\bip\bp2\b2r\bre\bec\bco\bov\bve\ber\br _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+       _\bb_\bz_\bi_\bp_\b2  compresses  files  using  the Burrows‐Wheeler block
+       sorting text compression algorithm,  and  Huffman  coding.
+       Compression  is  generally  considerably  better than that
+       achieved by more conventional LZ77/LZ78‐based compressors,
+       and  approaches  the performance of the PPM family of sta­
+       tistical compressors.
+
+       The command‐line options are deliberately very similar  to
+       those of _\bG_\bN_\bU _\bg_\bz_\bi_\bp_\b, but they are not identical.
+
+       _\bb_\bz_\bi_\bp_\b2  expects  a list of file names to accompany the com­
+       mand‐line flags.  Each file is replaced  by  a  compressed
+       version  of  itself,  with  the  name "original_name.bz2".
+       Each compressed file has the same modification date,  per­
+       missions, and, when possible, ownership as the correspond­
+       ing original, so that these properties  can  be  correctly
+       restored  at  decompression  time.   File name handling is
+       naive in the sense that there is no mechanism for preserv­
+       ing  original file names, permissions, ownerships or dates
+       in filesystems which lack these concepts, or have  serious
+       file name length restrictions, such as MS‐DOS.
+
+       _\bb_\bz_\bi_\bp_\b2  and  _\bb_\bu_\bn_\bz_\bi_\bp_\b2 will by default not overwrite existing
+       files.  If you want this to happen, specify the −f flag.
+
+       If no file names  are  specified,  _\bb_\bz_\bi_\bp_\b2  compresses  from
+       standard  input  to  standard output.  In this case, _\bb_\bz_\bi_\bp_\b2
+       will decline to write compressed output to a terminal,  as
+       this  would  be  entirely  incomprehensible  and therefore
+       pointless.
+
+       _\bb_\bu_\bn_\bz_\bi_\bp_\b2 (or _\bb_\bz_\bi_\bp_\b2 _\b−_\bd_\b) decompresses  all  specified  files.
+       Files which were not created by _\bb_\bz_\bi_\bp_\b2 will be detected and
+       ignored, and a warning issued.  _\bb_\bz_\bi_\bp_\b2  attempts  to  guess
+       the  filename  for  the decompressed file from that of the
+       compressed file as follows:
+
+              filename.bz2    becomes   filename
+              filename.bz     becomes   filename
+              filename.tbz2   becomes   filename.tar
+              filename.tbz    becomes   filename.tar
+              anyothername    becomes   anyothername.out
+
+       If the file does not end in one of the recognised endings,
+       _\b._\bb_\bz_\b2_\b,  _\b._\bb_\bz_\b,  _\b._\bt_\bb_\bz_\b2 or _\b._\bt_\bb_\bz_\b, _\bb_\bz_\bi_\bp_\b2 complains that it cannot
+       guess the name of the original file, and uses the original
+       name with _\b._\bo_\bu_\bt appended.
+
+       As  with compression, supplying no filenames causes decom­
+       pression from standard input to standard output.
+
+       _\bb_\bu_\bn_\bz_\bi_\bp_\b2 will correctly decompress a file which is the con­
+       catenation of two or more compressed files.  The result is
+       the concatenation of the corresponding uncompressed files.
+       Integrity testing (−t) of concatenated compressed files is
+       also supported.
+
+       You can also compress or decompress files to the  standard
+       output  by giving the −c flag.  Multiple files may be com­
+       pressed and decompressed like this.  The resulting outputs
+       are  fed  sequentially to stdout.  Compression of multiple
+       files in this manner generates a stream containing  multi­
+       ple compressed file representations.  Such a stream can be
+       decompressed correctly only  by  _\bb_\bz_\bi_\bp_\b2  version  0.9.0  or
+       later.   Earlier  versions of _\bb_\bz_\bi_\bp_\b2 will stop after decom­
+       pressing the first file in the stream.
+
+       _\bb_\bz_\bc_\ba_\bt (or _\bb_\bz_\bi_\bp_\b2 _\b‐_\bd_\bc_\b) decompresses all specified  files  to
+       the standard output.
+
+       _\bb_\bz_\bi_\bp_\b2  will  read arguments from the environment variables
+       _\bB_\bZ_\bI_\bP_\b2 and _\bB_\bZ_\bI_\bP_\b, in  that  order,  and  will  process  them
+       before  any  arguments  read  from the command line.  This
+       gives a convenient way to supply default arguments.
+
+       Compression is always performed, even  if  the  compressed
+       file  is slightly larger than the original.  Files of less
+       than about one hundred bytes tend to get larger, since the
+       compression  mechanism  has  a  constant  overhead  in the
+       region of 50 bytes.  Random data (including the output  of
+       most  file  compressors)  is  coded at about 8.05 bits per
+       byte, giving an expansion of around 0.5%.
+
+       As a self‐check for your  protection,  _\bb_\bz_\bi_\bp_\b2  uses  32‐bit
+       CRCs  to make sure that the decompressed version of a file
+       is identical to the original.  This guards against corrup­
+       tion  of  the compressed data, and against undetected bugs
+       in _\bb_\bz_\bi_\bp_\b2 (hopefully very unlikely).  The chances  of  data
+       corruption  going  undetected  is  microscopic,  about one
+       chance in four billion for each file processed.  Be aware,
+       though,  that  the  check occurs upon decompression, so it
+       can only tell you that something is wrong.  It can’t  help
+       you  recover  the original uncompressed data.  You can use
+       _\bb_\bz_\bi_\bp_\b2_\br_\be_\bc_\bo_\bv_\be_\br to try to recover data from damaged files.
+
+       Return values: 0 for a normal exit,  1  for  environmental
+       problems  (file not found, invalid flags, I/O errors, &c),
+       2 to indicate a corrupt compressed file, 3 for an internal
+       consistency error (eg, bug) which caused _\bb_\bz_\bi_\bp_\b2 to panic.
+
+
+O\bOP\bPT\bTI\bIO\bON\bNS\bS
+       −\b−c\bc ‐\b‐‐\b‐s\bst\btd\bdo\bou\but\bt
+              Compress or decompress to standard output.
+
+       −\b−d\bd ‐\b‐‐\b‐d\bde\bec\bco\bom\bmp\bpr\bre\bes\bss\bs
+              Force  decompression.  _\bb_\bz_\bi_\bp_\b2_\b, _\bb_\bu_\bn_\bz_\bi_\bp_\b2 and _\bb_\bz_\bc_\ba_\bt are
+              really the same program,  and  the  decision  about
+              what  actions to take is done on the basis of which
+              name is used.  This flag overrides that  mechanism,
+              and forces _\bb_\bz_\bi_\bp_\b2 to decompress.
+
+       −\b−z\bz ‐\b‐‐\b‐c\bco\bom\bmp\bpr\bre\bes\bss\bs
+              The   complement   to   −d:   forces   compression,
+              regardless of the invocation name.
+
+       −\b−t\bt ‐\b‐‐\b‐t\bte\bes\bst\bt
+              Check integrity of the specified file(s), but don’t
+              decompress  them.   This  really  performs  a trial
+              decompression and throws away the result.
+
+       −\b−f\bf ‐\b‐‐\b‐f\bfo\bor\brc\bce\be
+              Force overwrite of output files.   Normally,  _\bb_\bz_\bi_\bp_\b2
+              will  not  overwrite  existing  output files.  Also
+              forces _\bb_\bz_\bi_\bp_\b2 to break hard links to files, which it
+              otherwise wouldn’t do.
+
+              bzip2  normally  declines to decompress files which
+              don’t have the  correct  magic  header  bytes.   If
+              forced  (‐f),  however,  it  will  pass  such files
+              through unmodified.  This is how GNU gzip  behaves.
+
+       −\b−k\bk ‐\b‐‐\b‐k\bke\bee\bep\bp
+              Keep  (don’t delete) input files during compression
+              or decompression.
+
+       −\b−s\bs ‐\b‐‐\b‐s\bsm\bma\bal\bll\bl
+              Reduce memory usage, for compression, decompression
+              and  testing.   Files  are  decompressed and tested
+              using a modified algorithm which only requires  2.5
+              bytes  per  block byte.  This means any file can be
+              decompressed in 2300k of memory,  albeit  at  about
+              half the normal speed.
+
+              During  compression,  −s  selects  a  block size of
+              200k, which limits memory use to  around  the  same
+              figure,  at  the expense of your compression ratio.
+              In short, if your  machine  is  low  on  memory  (8
+              megabytes  or  less),  use  −s for everything.  See
+              MEMORY MANAGEMENT below.
+
+       −\b−q\bq ‐\b‐‐\b‐q\bqu\bui\bie\bet\bt
+              Suppress non‐essential warning messages.   Messages
+              pertaining  to I/O errors and other critical events
+              will not be suppressed.
+
+       −\b−v\bv ‐\b‐‐\b‐v\bve\ber\brb\bbo\bos\bse\be
+              Verbose mode ‐‐ show the compression ratio for each
+              file  processed.   Further  −v’s  increase the ver­
+              bosity level, spewing out lots of information which
+              is primarily of interest for diagnostic purposes.
+
+       −\b−L\bL ‐\b‐‐\b‐l\bli\bic\bce\ben\bns\bse\be ‐\b‐V\bV ‐\b‐‐\b‐v\bve\ber\brs\bsi\bio\bon\bn
+              Display  the  software  version,  license terms and
+              conditions.
+
+       −\b−1\b1 (\b(o\bor\br −\b−−\b−f\bfa\bas\bst\bt)\b) t\bto\bo −\b−9\b9 (\b(o\bor\br −\b−−\b−b\bbe\bes\bst\bt)\b)
+              Set the block size to 100 k, 200 k ..  900  k  when
+              compressing.   Has  no  effect  when decompressing.
+              See MEMORY MANAGEMENT below.  The −−fast and −−best
+              aliases  are  primarily for GNU gzip compatibility.
+              In particular, −−fast doesn’t make things  signifi­
+              cantly  faster.   And  −−best  merely  selects  the
+              default behaviour.
+
+       −\b−‐\b‐     Treats all subsequent arguments as file names, even
+              if they start with a dash.  This is so you can han­
+              dle files with names beginning  with  a  dash,  for
+              example: bzip2 −‐ −myfilename.
+
+       −\b−‐\b‐r\bre\bep\bpe\bet\bti\bit\bti\biv\bve\be‐\b‐f\bfa\bas\bst\bt ‐\b‐‐\b‐r\bre\bep\bpe\bet\bti\bit\bti\biv\bve\be‐\b‐b\bbe\bes\bst\bt
+              These  flags  are  redundant  in versions 0.9.5 and
+              above.  They provided some coarse control over  the
+              behaviour  of the sorting algorithm in earlier ver­
+              sions, which was sometimes useful.  0.9.5 and above
+              have  an  improved  algorithm  which  renders these
+              flags irrelevant.
+
+
+M\bME\bEM\bMO\bOR\bRY\bY M\bMA\bAN\bNA\bAG\bGE\bEM\bME\bEN\bNT\bT
+       _\bb_\bz_\bi_\bp_\b2 compresses large files in blocks.   The  block  size
+       affects  both  the  compression  ratio  achieved,  and the
+       amount of memory needed for compression and decompression.
+       The  flags  −1  through  −9  specify  the block size to be
+       100,000 bytes through 900,000 bytes (the default)  respec­
+       tively.   At  decompression  time, the block size used for
+       compression is read from  the  header  of  the  compressed
+       file, and _\bb_\bu_\bn_\bz_\bi_\bp_\b2 then allocates itself just enough memory
+       to decompress the file.  Since block sizes are  stored  in
+       compressed  files,  it follows that the flags −1 to −9 are
+       irrelevant to and so ignored during decompression.
+
+       Compression and decompression requirements, in bytes,  can
+       be estimated as:
+
+              Compression:   400k + ( 8 x block size )
+
+              Decompression: 100k + ( 4 x block size ), or
+                             100k + ( 2.5 x block size )
+
+       Larger  block  sizes  give  rapidly  diminishing  marginal
+       returns.  Most of the compression comes from the first two
+       or  three hundred k of block size, a fact worth bearing in
+       mind when using _\bb_\bz_\bi_\bp_\b2  on  small  machines.   It  is  also
+       important  to  appreciate  that  the  decompression memory
+       requirement is set at compression time by  the  choice  of
+       block size.
+
+       For  files  compressed  with  the default 900k block size,
+       _\bb_\bu_\bn_\bz_\bi_\bp_\b2 will require about 3700 kbytes to decompress.   To
+       support decompression of any file on a 4 megabyte machine,
+       _\bb_\bu_\bn_\bz_\bi_\bp_\b2 has an option to  decompress  using  approximately
+       half this amount of memory, about 2300 kbytes.  Decompres­
+       sion speed is also halved, so you should use  this  option
+       only where necessary.  The relevant flag is ‐s.
+
+       In general, try and use the largest block size memory con­
+       straints  allow,  since  that  maximises  the  compression
+       achieved.   Compression and decompression speed are virtu­
+       ally unaffected by block size.
+
+       Another significant point applies to files which fit in  a
+       single  block  ‐‐  that  means  most files you’d encounter
+       using a large block  size.   The  amount  of  real  memory
+       touched is proportional to the size of the file, since the
+       file is smaller than a block.  For example, compressing  a
+       file  20,000  bytes  long  with the flag ‐9 will cause the
+       compressor to allocate around 7600k of  memory,  but  only
+       touch 400k + 20000 * 8 = 560 kbytes of it.  Similarly, the
+       decompressor will allocate 3700k but  only  touch  100k  +
+       20000 * 4 = 180 kbytes.
+
+       Here  is a table which summarises the maximum memory usage
+       for different block sizes.  Also  recorded  is  the  total
+       compressed  size for 14 files of the Calgary Text Compres­
+       sion Corpus totalling 3,141,622 bytes.  This column  gives
+       some  feel  for  how  compression  varies with block size.
+       These figures tend to understate the advantage  of  larger
+       block  sizes  for  larger files, since the Corpus is domi­
+       nated by smaller files.
+
+                  Compress   Decompress   Decompress   Corpus
+           Flag     usage      usage       ‐s usage     Size
+
+            ‐1      1200k       500k         350k      914704
+            ‐2      2000k       900k         600k      877703
+            ‐3      2800k      1300k         850k      860338
+            ‐4      3600k      1700k        1100k      846899
+            ‐5      4400k      2100k        1350k      845160
+            ‐6      5200k      2500k        1600k      838626
+            ‐7      6100k      2900k        1850k      834096
+            ‐8      6800k      3300k        2100k      828642
+            ‐9      7600k      3700k        2350k      828642
+
+
+R\bRE\bEC\bCO\bOV\bVE\bER\bRI\bIN\bNG\bG D\bDA\bAT\bTA\bA F\bFR\bRO\bOM\bM D\bDA\bAM\bMA\bAG\bGE\bED\bD F\bFI\bIL\bLE\bES\bS
+       _\bb_\bz_\bi_\bp_\b2 compresses files in blocks, usually 900kbytes  long.
+       Each block is handled independently.  If a media or trans­
+       mission error causes a multi‐block  .bz2  file  to  become
+       damaged,  it  may  be  possible  to  recover data from the
+       undamaged blocks in the file.
+
+       The compressed representation of each block  is  delimited
+       by  a  48‐bit pattern, which makes it possible to find the
+       block boundaries with reasonable  certainty.   Each  block
+       also  carries its own 32‐bit CRC, so damaged blocks can be
+       distinguished from undamaged ones.
+
+       _\bb_\bz_\bi_\bp_\b2_\br_\be_\bc_\bo_\bv_\be_\br is a  simple  program  whose  purpose  is  to
+       search  for blocks in .bz2 files, and write each block out
+       into its own .bz2 file.  You can then use _\bb_\bz_\bi_\bp_\b2 −t to test
+       the integrity of the resulting files, and decompress those
+       which are undamaged.
+
+       _\bb_\bz_\bi_\bp_\b2_\br_\be_\bc_\bo_\bv_\be_\br takes a single argument, the name of the dam­
+       aged    file,    and    writes    a    number   of   files
+       "rec00001file.bz2",  "rec00002file.bz2",  etc,  containing
+       the   extracted   blocks.   The   output   filenames   are
+       designed  so  that the use of wildcards in subsequent pro­
+       cessing  ‐‐ for example, "bzip2 ‐dc  rec*file.bz2 > recov­
+       ered_data" ‐‐ processes the files in the correct order.
+
+       _\bb_\bz_\bi_\bp_\b2_\br_\be_\bc_\bo_\bv_\be_\br should be of most use dealing with large .bz2
+       files,  as  these will contain many blocks.  It is clearly
+       futile to use it on damaged single‐block  files,  since  a
+       damaged  block  cannot  be recovered.  If you wish to min­
+       imise any potential data loss through media  or  transmis­
+       sion errors, you might consider compressing with a smaller
+       block size.
+
+
+P\bPE\bER\bRF\bFO\bOR\bRM\bMA\bAN\bNC\bCE\bE N\bNO\bOT\bTE\bES\bS
+       The sorting phase of compression gathers together  similar
+       strings  in  the  file.  Because of this, files containing
+       very long runs of  repeated  symbols,  like  "aabaabaabaab
+       ..."   (repeated  several hundred times) may compress more
+       slowly than normal.  Versions 0.9.5 and  above  fare  much
+       better  than previous versions in this respect.  The ratio
+       between worst‐case and average‐case compression time is in
+       the  region  of  10:1.  For previous versions, this figure
+       was more like 100:1.  You can use the −vvvv option to mon­
+       itor progress in great detail, if you want.
+
+       Decompression speed is unaffected by these phenomena.
+
+       _\bb_\bz_\bi_\bp_\b2  usually  allocates  several  megabytes of memory to
+       operate in, and then charges all over it in a fairly  ran­
+       dom  fashion.   This means that performance, both for com­
+       pressing and decompressing, is largely determined  by  the
+       speed  at  which  your  machine  can service cache misses.
+       Because of this, small changes to the code to  reduce  the
+       miss  rate  have  been observed to give disproportionately
+       large performance improvements.  I imagine _\bb_\bz_\bi_\bp_\b2 will per­
+       form best on machines with very large caches.
+
+
+C\bCA\bAV\bVE\bEA\bAT\bTS\bS
+       I/O  error  messages  are not as helpful as they could be.
+       _\bb_\bz_\bi_\bp_\b2 tries hard to detect I/O errors  and  exit  cleanly,
+       but  the  details  of  what  the problem is sometimes seem
+       rather misleading.
+
+       This manual page pertains to version 1.0.3 of _\bb_\bz_\bi_\bp_\b2_\b.  Com­
+       pressed  data created by this version is entirely forwards
+       and  backwards  compatible  with   the   previous   public
+       releases,  versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and
+       1.0.2, but with the following exception: 0.9.0  and  above
+       can  correctly decompress multiple concatenated compressed
+       files.  0.1pl2 cannot do this; it will stop  after  decom­
+       pressing just the first file in the stream.
+
+       _\bb_\bz_\bi_\bp_\b2_\br_\be_\bc_\bo_\bv_\be_\br  versions prior to 1.0.2 used 32‐bit integers
+       to represent bit positions in compressed  files,  so  they
+       could  not handle compressed files more than 512 megabytes
+       long.  Versions 1.0.2 and above use 64‐bit  ints  on  some
+       platforms  which  support them (GNU supported targets, and
+       Windows).  To establish whether or  not  bzip2recover  was
+       built  with  such  a limitation, run it without arguments.
+       In any event you can build yourself an  unlimited  version
+       if  you  can  recompile  it  with MaybeUInt64 set to be an
+       unsigned 64‐bit integer.
+
+
+
+
+A\bAU\bUT\bTH\bHO\bOR\bR
+       Julian Seward, jsewardbzip.org.
+
+       http://www.bzip.org
+
+       The ideas embodied in _\bb_\bz_\bi_\bp_\b2 are due to (at least) the fol­
+       lowing  people: Michael Burrows and David Wheeler (for the
+       block sorting transformation), David Wheeler  (again,  for
+       the Huffman coder), Peter Fenwick (for the structured cod­
+       ing model in the original _\bb_\bz_\bi_\bp_\b, and many refinements), and
+       Alistair  Moffat,  Radford  Neal  and  Ian Witten (for the
+       arithmetic  coder  in  the  original  _\bb_\bz_\bi_\bp_\b)_\b.   I  am  much
+       indebted for their help, support and advice.  See the man­
+       ual in the source distribution for pointers to sources  of
+       documentation.  Christian von Roques encouraged me to look
+       for faster sorting algorithms, so as to speed up  compres­
+       sion.  Bela Lubkin encouraged me to improve the worst‐case
+       compression performance.  Donna Robinson XMLised the docu­
+       mentation.   The bz* scripts are derived from those of GNU
+       gzip.  Many people sent patches, helped  with  portability
+       problems,  lent  machines,  gave advice and were generally
+       helpful.
+
+
+
+                                                         bzip2(1)
diff --git a/commands/bzip2-1.0.3/bzip2.c b/commands/bzip2-1.0.3/bzip2.c
new file mode 100644 (file)
index 0000000..79f87a5
--- /dev/null
@@ -0,0 +1,2107 @@
+
+/*-----------------------------------------------------------*/
+/*--- A block-sorting, lossless compressor        bzip2.c ---*/
+/*-----------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+
+/*----------------------------------------------------*/
+/*--- IMPORTANT                                    ---*/
+/*----------------------------------------------------*/
+
+/*--
+   WARNING:
+      This program and library (attempts to) compress data by 
+      performing several non-trivial transformations on it.  
+      Unless you are 100% familiar with *all* the algorithms 
+      contained herein, and with the consequences of modifying them, 
+      you should NOT meddle with the compression or decompression 
+      machinery.  Incorrect changes can and very likely *will* 
+      lead to disasterous loss of data.
+
+   DISCLAIMER:
+      I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
+      USE OF THIS PROGRAM, HOWSOEVER CAUSED.
+
+      Every compression of a file implies an assumption that the
+      compressed file can be decompressed to reproduce the original.
+      Great efforts in design, coding and testing have been made to
+      ensure that this program works correctly.  However, the
+      complexity of the algorithms, and, in particular, the presence
+      of various special cases in the code which occur with very low
+      but non-zero probability make it impossible to rule out the
+      possibility of bugs remaining in the program.  DO NOT COMPRESS
+      ANY DATA WITH THIS PROGRAM AND/OR LIBRARY UNLESS YOU ARE PREPARED 
+      TO ACCEPT THE POSSIBILITY, HOWEVER SMALL, THAT THE DATA WILL 
+      NOT BE RECOVERABLE.
+
+      That is not to say this program is inherently unreliable.
+      Indeed, I very much hope the opposite is true.  bzip2/libbzip2
+      has been carefully constructed and extensively tested.
+
+   PATENTS:
+      To the best of my knowledge, bzip2/libbzip2 does not use any 
+      patented algorithms.  However, I do not have the resources 
+      available to carry out a full patent search.  Therefore I cannot 
+      give any guarantee of the above statement.
+--*/
+
+
+
+/*----------------------------------------------------*/
+/*--- and now for something much more pleasant :-) ---*/
+/*----------------------------------------------------*/
+
+/*---------------------------------------------*/
+/*--
+  Place a 1 beside your platform, and 0 elsewhere.
+--*/
+
+/*--
+  Generic 32-bit Unix.
+  Also works on 64-bit Unix boxes.
+  This is the default.
+--*/
+#define BZ_UNIX      1
+
+/*--
+  Win32, as seen by Jacob Navia's excellent
+  port of (Chris Fraser & David Hanson)'s excellent
+  lcc compiler.  Or with MS Visual C.
+  This is selected automatically if compiled by a compiler which
+  defines _WIN32, not including the Cygwin GCC.
+--*/
+#define BZ_LCCWIN32  0
+
+#if defined(_WIN32) && !defined(__CYGWIN__)
+#undef  BZ_LCCWIN32
+#define BZ_LCCWIN32 1
+#undef  BZ_UNIX
+#define BZ_UNIX 0
+#endif
+
+
+/*---------------------------------------------*/
+/*--
+  Some stuff for all platforms.
+--*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <signal.h>
+#include <math.h>
+#include <errno.h>
+#include <ctype.h>
+#include "bzlib.h"
+
+#define ERROR_IF_EOF(i)       { if ((i) == EOF)  ioError(); }
+#define ERROR_IF_NOT_ZERO(i)  { if ((i) != 0)    ioError(); }
+#define ERROR_IF_MINUS_ONE(i) { if ((i) == (-1)) ioError(); }
+
+
+/*---------------------------------------------*/
+/*--
+   Platform-specific stuff.
+--*/
+
+#if BZ_UNIX
+#   include <fcntl.h>
+#   include <sys/types.h>
+#   include <utime.h>
+#   include <unistd.h>
+#   include <sys/stat.h>
+#   include <sys/times.h>
+
+#   define PATH_SEP    '/'
+#   define MY_LSTAT    lstat
+#   define MY_STAT     stat
+#   define MY_S_ISREG  S_ISREG
+#   define MY_S_ISDIR  S_ISDIR
+
+#   define APPEND_FILESPEC(root, name) \
+      root=snocString((root), (name))
+
+#   define APPEND_FLAG(root, name) \
+      root=snocString((root), (name))
+
+#   define SET_BINARY_MODE(fd) /**/
+
+#   ifdef __GNUC__
+#      define NORETURN __attribute__ ((noreturn))
+#   else
+#      define NORETURN /**/
+#   endif
+
+#   ifdef __DJGPP__
+#     include <io.h>
+#     include <fcntl.h>
+#     undef MY_LSTAT
+#     undef MY_STAT
+#     define MY_LSTAT stat
+#     define MY_STAT stat
+#     undef SET_BINARY_MODE
+#     define SET_BINARY_MODE(fd)                        \
+        do {                                            \
+           int retVal = setmode ( fileno ( fd ),        \
+                                  O_BINARY );           \
+           ERROR_IF_MINUS_ONE ( retVal );               \
+        } while ( 0 )
+#   endif
+
+#   ifdef __CYGWIN__
+#     include <io.h>
+#     include <fcntl.h>
+#     undef SET_BINARY_MODE
+#     define SET_BINARY_MODE(fd)                        \
+        do {                                            \
+           int retVal = setmode ( fileno ( fd ),        \
+                                  O_BINARY );           \
+           ERROR_IF_MINUS_ONE ( retVal );               \
+        } while ( 0 )
+#   endif
+#endif /* BZ_UNIX */
+
+
+
+#if BZ_LCCWIN32
+#   include <io.h>
+#   include <fcntl.h>
+#   include <sys\stat.h>
+
+#   define NORETURN       /**/
+#   define PATH_SEP       '\\'
+#   define MY_LSTAT       _stat
+#   define MY_STAT        _stat
+#   define MY_S_ISREG(x)  ((x) & _S_IFREG)
+#   define MY_S_ISDIR(x)  ((x) & _S_IFDIR)
+
+#   define APPEND_FLAG(root, name) \
+      root=snocString((root), (name))
+
+#   define APPEND_FILESPEC(root, name)                \
+      root = snocString ((root), (name))
+
+#   define SET_BINARY_MODE(fd)                        \
+      do {                                            \
+         int retVal = setmode ( fileno ( fd ),        \
+                                O_BINARY );           \
+         ERROR_IF_MINUS_ONE ( retVal );               \
+      } while ( 0 )
+
+#endif /* BZ_LCCWIN32 */
+
+
+/*---------------------------------------------*/
+/*--
+  Some more stuff for all platforms :-)
+--*/
+
+typedef char            Char;
+typedef unsigned char   Bool;
+typedef unsigned char   UChar;
+typedef int             Int32;
+typedef unsigned int    UInt32;
+typedef short           Int16;
+typedef unsigned short  UInt16;
+                                       
+#define True  ((Bool)1)
+#define False ((Bool)0)
+
+/*--
+  IntNative is your platform's `native' int size.
+  Only here to avoid probs with 64-bit platforms.
+--*/
+typedef int IntNative;
+
+
+/*---------------------------------------------------*/
+/*--- Misc (file handling) data decls             ---*/
+/*---------------------------------------------------*/
+
+Int32   verbosity;
+Bool    keepInputFiles, smallMode, deleteOutputOnInterrupt;
+Bool    forceOverwrite, testFailsExist, unzFailsExist, noisy;
+Int32   numFileNames, numFilesProcessed, blockSize100k;
+Int32   exitValue;
+
+/*-- source modes; F==file, I==stdin, O==stdout --*/
+#define SM_I2O           1
+#define SM_F2O           2
+#define SM_F2F           3
+
+/*-- operation modes --*/
+#define OM_Z             1
+#define OM_UNZ           2
+#define OM_TEST          3
+
+Int32   opMode;
+Int32   srcMode;
+
+#define FILE_NAME_LEN 1034
+
+Int32   longestFileName;
+Char    inName [FILE_NAME_LEN];
+Char    outName[FILE_NAME_LEN];
+Char    tmpName[FILE_NAME_LEN];
+Char    *progName;
+Char    progNameReally[FILE_NAME_LEN];
+FILE    *outputHandleJustInCase;
+Int32   workFactor;
+
+static void    panic                 ( Char* )   NORETURN;
+static void    ioError               ( void )    NORETURN;
+static void    outOfMemory           ( void )    NORETURN;
+static void    configError           ( void )    NORETURN;
+static void    crcError              ( void )    NORETURN;
+static void    cleanUpAndFail        ( Int32 )   NORETURN;
+static void    compressedStreamEOF   ( void )    NORETURN;
+
+static void    copyFileName ( Char*, Char* );
+static void*   myMalloc     ( Int32 );
+
+
+
+/*---------------------------------------------------*/
+/*--- An implementation of 64-bit ints.  Sigh.    ---*/
+/*--- Roll on widespread deployment of ANSI C9X ! ---*/
+/*---------------------------------------------------*/
+
+typedef
+   struct { UChar b[8]; } 
+   UInt64;
+
+
+static
+void uInt64_from_UInt32s ( UInt64* n, UInt32 lo32, UInt32 hi32 )
+{
+   n->b[7] = (UChar)((hi32 >> 24) & 0xFF);
+   n->b[6] = (UChar)((hi32 >> 16) & 0xFF);
+   n->b[5] = (UChar)((hi32 >> 8)  & 0xFF);
+   n->b[4] = (UChar) (hi32        & 0xFF);
+   n->b[3] = (UChar)((lo32 >> 24) & 0xFF);
+   n->b[2] = (UChar)((lo32 >> 16) & 0xFF);
+   n->b[1] = (UChar)((lo32 >> 8)  & 0xFF);
+   n->b[0] = (UChar) (lo32        & 0xFF);
+}
+
+
+static
+double uInt64_to_double ( UInt64* n )
+{
+   Int32  i;
+   double base = 1.0;
+   double sum  = 0.0;
+   for (i = 0; i < 8; i++) {
+      sum  += base * (double)(n->b[i]);
+      base *= 256.0;
+   }
+   return sum;
+}
+
+
+static
+Bool uInt64_isZero ( UInt64* n )
+{
+   Int32 i;
+   for (i = 0; i < 8; i++)
+      if (n->b[i] != 0) return 0;
+   return 1;
+}
+
+
+/* Divide *n by 10, and return the remainder.  */
+static 
+Int32 uInt64_qrm10 ( UInt64* n )
+{
+   UInt32 rem, tmp;
+   Int32  i;
+   rem = 0;
+   for (i = 7; i >= 0; i--) {
+      tmp = rem * 256 + n->b[i];
+      n->b[i] = tmp / 10;
+      rem = tmp % 10;
+   }
+   return rem;
+}
+
+
+/* ... and the Whole Entire Point of all this UInt64 stuff is
+   so that we can supply the following function.
+*/
+static
+void uInt64_toAscii ( char* outbuf, UInt64* n )
+{
+   Int32  i, q;
+   UChar  buf[32];
+   Int32  nBuf   = 0;
+   UInt64 n_copy = *n;
+   do {
+      q = uInt64_qrm10 ( &n_copy );
+      buf[nBuf] = q + '0';
+      nBuf++;
+   } while (!uInt64_isZero(&n_copy));
+   outbuf[nBuf] = 0;
+   for (i = 0; i < nBuf; i++) 
+      outbuf[i] = buf[nBuf-i-1];
+}
+
+
+/*---------------------------------------------------*/
+/*--- Processing of complete files and streams    ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------*/
+static 
+Bool myfeof ( FILE* f )
+{
+   Int32 c = fgetc ( f );
+   if (c == EOF) return True;
+   ungetc ( c, f );
+   return False;
+}
+
+
+/*---------------------------------------------*/
+static 
+void compressStream ( FILE *stream, FILE *zStream )
+{
+   BZFILE* bzf = NULL;
+   UChar   ibuf[5000];
+   Int32   nIbuf;
+   UInt32  nbytes_in_lo32, nbytes_in_hi32;
+   UInt32  nbytes_out_lo32, nbytes_out_hi32;
+   Int32   bzerr, bzerr_dummy, ret;
+
+   SET_BINARY_MODE(stream);
+   SET_BINARY_MODE(zStream);
+
+   if (ferror(stream)) goto errhandler_io;
+   if (ferror(zStream)) goto errhandler_io;
+
+   bzf = BZ2_bzWriteOpen ( &bzerr, zStream, 
+                           blockSize100k, verbosity, workFactor );   
+   if (bzerr != BZ_OK) goto errhandler;
+
+   if (verbosity >= 2) fprintf ( stderr, "\n" );
+
+   while (True) {
+
+      if (myfeof(stream)) break;
+      nIbuf = fread ( ibuf, sizeof(UChar), 5000, stream );
+      if (ferror(stream)) goto errhandler_io;
+      if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf );
+      if (bzerr != BZ_OK) goto errhandler;
+
+   }
+
+   BZ2_bzWriteClose64 ( &bzerr, bzf, 0, 
+                        &nbytes_in_lo32, &nbytes_in_hi32,
+                        &nbytes_out_lo32, &nbytes_out_hi32 );
+   if (bzerr != BZ_OK) goto errhandler;
+
+   if (ferror(zStream)) goto errhandler_io;
+   ret = fflush ( zStream );
+   if (ret == EOF) goto errhandler_io;
+   if (zStream != stdout) {
+      ret = fclose ( zStream );
+      outputHandleJustInCase = NULL;
+      if (ret == EOF) goto errhandler_io;
+   }
+   outputHandleJustInCase = NULL;
+   if (ferror(stream)) goto errhandler_io;
+   ret = fclose ( stream );
+   if (ret == EOF) goto errhandler_io;
+
+   if (verbosity >= 1) {
+      if (nbytes_in_lo32 == 0 && nbytes_in_hi32 == 0) {
+        fprintf ( stderr, " no data compressed.\n");
+      } else {
+        Char   buf_nin[32], buf_nout[32];
+        UInt64 nbytes_in,   nbytes_out;
+        double nbytes_in_d, nbytes_out_d;
+        uInt64_from_UInt32s ( &nbytes_in, 
+                              nbytes_in_lo32, nbytes_in_hi32 );
+        uInt64_from_UInt32s ( &nbytes_out, 
+                              nbytes_out_lo32, nbytes_out_hi32 );
+        nbytes_in_d  = uInt64_to_double ( &nbytes_in );
+        nbytes_out_d = uInt64_to_double ( &nbytes_out );
+        uInt64_toAscii ( buf_nin, &nbytes_in );
+        uInt64_toAscii ( buf_nout, &nbytes_out );
+        fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, "
+                  "%5.2f%% saved, %s in, %s out.\n",
+                  nbytes_in_d / nbytes_out_d,
+                  (8.0 * nbytes_out_d) / nbytes_in_d,
+                  100.0 * (1.0 - nbytes_out_d / nbytes_in_d),
+                  buf_nin,
+                  buf_nout
+                );
+      }
+   }
+
+   return;
+
+   errhandler:
+   BZ2_bzWriteClose64 ( &bzerr_dummy, bzf, 1, 
+                        &nbytes_in_lo32, &nbytes_in_hi32,
+                        &nbytes_out_lo32, &nbytes_out_hi32 );
+   switch (bzerr) {
+      case BZ_CONFIG_ERROR:
+         configError(); break;
+      case BZ_MEM_ERROR:
+         outOfMemory (); break;
+      case BZ_IO_ERROR:
+         errhandler_io:
+         ioError(); break;
+      default:
+         panic ( "compress:unexpected error" );
+   }
+
+   panic ( "compress:end" );
+   /*notreached*/
+}
+
+
+
+/*---------------------------------------------*/
+static 
+Bool uncompressStream ( FILE *zStream, FILE *stream )
+{
+   BZFILE* bzf = NULL;
+   Int32   bzerr, bzerr_dummy, ret, nread, streamNo, i;
+   UChar   obuf[5000];
+   UChar   unused[BZ_MAX_UNUSED];
+   Int32   nUnused;
+   void*   unusedTmpV;
+   UChar*  unusedTmp;
+
+   nUnused = 0;
+   streamNo = 0;
+
+   SET_BINARY_MODE(stream);
+   SET_BINARY_MODE(zStream);
+
+   if (ferror(stream)) goto errhandler_io;
+   if (ferror(zStream)) goto errhandler_io;
+
+   while (True) {
+
+      bzf = BZ2_bzReadOpen ( 
+               &bzerr, zStream, verbosity, 
+               (int)smallMode, unused, nUnused
+            );
+      if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
+      streamNo++;
+
+      while (bzerr == BZ_OK) {
+         nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
+         if (bzerr == BZ_DATA_ERROR_MAGIC) goto trycat;
+         if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0)
+            fwrite ( obuf, sizeof(UChar), nread, stream );
+         if (ferror(stream)) goto errhandler_io;
+      }
+      if (bzerr != BZ_STREAM_END) goto errhandler;
+
+      BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
+      if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
+
+      unusedTmp = (UChar*)unusedTmpV;
+      for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
+
+      BZ2_bzReadClose ( &bzerr, bzf );
+      if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
+
+      if (nUnused == 0 && myfeof(zStream)) break;
+   }
+
+   closeok:
+   if (ferror(zStream)) goto errhandler_io;
+   ret = fclose ( zStream );
+   if (ret == EOF) goto errhandler_io;
+
+   if (ferror(stream)) goto errhandler_io;
+   ret = fflush ( stream );
+   if (ret != 0) goto errhandler_io;
+   if (stream != stdout) {
+      ret = fclose ( stream );
+      outputHandleJustInCase = NULL;
+      if (ret == EOF) goto errhandler_io;
+   }
+   outputHandleJustInCase = NULL;
+   if (verbosity >= 2) fprintf ( stderr, "\n    " );
+   return True;
+
+   trycat: 
+   if (forceOverwrite) {
+      rewind(zStream);
+      while (True) {
+        if (myfeof(zStream)) break;
+        nread = fread ( obuf, sizeof(UChar), 5000, zStream );
+        if (ferror(zStream)) goto errhandler_io;
+        if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream );
+        if (ferror(stream)) goto errhandler_io;
+      }
+      goto closeok;
+   }
+  
+   errhandler:
+   BZ2_bzReadClose ( &bzerr_dummy, bzf );
+   switch (bzerr) {
+      case BZ_CONFIG_ERROR:
+         configError(); break;
+      case BZ_IO_ERROR:
+         errhandler_io:
+         ioError(); break;
+      case BZ_DATA_ERROR:
+         crcError();
+      case BZ_MEM_ERROR:
+         outOfMemory();
+      case BZ_UNEXPECTED_EOF:
+         compressedStreamEOF();
+      case BZ_DATA_ERROR_MAGIC:
+         if (zStream != stdin) fclose(zStream);
+         if (stream != stdout) fclose(stream);
+         if (streamNo == 1) {
+            return False;
+         } else {
+            if (noisy)
+            fprintf ( stderr, 
+                      "\n%s: %s: trailing garbage after EOF ignored\n",
+                      progName, inName );
+            return True;       
+         }
+      default:
+         panic ( "decompress:unexpected error" );
+   }
+
+   panic ( "decompress:end" );
+   return True; /*notreached*/
+}
+
+
+/*---------------------------------------------*/
+static 
+Bool testStream ( FILE *zStream )
+{
+   BZFILE* bzf = NULL;
+   Int32   bzerr, bzerr_dummy, ret, nread, streamNo, i;
+   UChar   obuf[5000];
+   UChar   unused[BZ_MAX_UNUSED];
+   Int32   nUnused;
+   void*   unusedTmpV;
+   UChar*  unusedTmp;
+
+   nUnused = 0;
+   streamNo = 0;
+
+   SET_BINARY_MODE(zStream);
+   if (ferror(zStream)) goto errhandler_io;
+
+   while (True) {
+
+      bzf = BZ2_bzReadOpen ( 
+               &bzerr, zStream, verbosity, 
+               (int)smallMode, unused, nUnused
+            );
+      if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
+      streamNo++;
+
+      while (bzerr == BZ_OK) {
+         nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
+         if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler;
+      }
+      if (bzerr != BZ_STREAM_END) goto errhandler;
+
+      BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
+      if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
+
+      unusedTmp = (UChar*)unusedTmpV;
+      for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
+
+      BZ2_bzReadClose ( &bzerr, bzf );
+      if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
+      if (nUnused == 0 && myfeof(zStream)) break;
+
+   }
+
+   if (ferror(zStream)) goto errhandler_io;
+   ret = fclose ( zStream );
+   if (ret == EOF) goto errhandler_io;
+
+   if (verbosity >= 2) fprintf ( stderr, "\n    " );
+   return True;
+
+   errhandler:
+   BZ2_bzReadClose ( &bzerr_dummy, bzf );
+   if (verbosity == 0) 
+      fprintf ( stderr, "%s: %s: ", progName, inName );
+   switch (bzerr) {
+      case BZ_CONFIG_ERROR:
+         configError(); break;
+      case BZ_IO_ERROR:
+         errhandler_io:
+         ioError(); break;
+      case BZ_DATA_ERROR:
+         fprintf ( stderr,
+                   "data integrity (CRC) error in data\n" );
+         return False;
+      case BZ_MEM_ERROR:
+         outOfMemory();
+      case BZ_UNEXPECTED_EOF:
+         fprintf ( stderr,
+                   "file ends unexpectedly\n" );
+         return False;
+      case BZ_DATA_ERROR_MAGIC:
+         if (zStream != stdin) fclose(zStream);
+         if (streamNo == 1) {
+          fprintf ( stderr, 
+                    "bad magic number (file not created by bzip2)\n" );
+            return False;
+         } else {
+            if (noisy)
+            fprintf ( stderr, 
+                      "trailing garbage after EOF ignored\n" );
+            return True;       
+         }
+      default:
+         panic ( "test:unexpected error" );
+   }
+
+   panic ( "test:end" );
+   return True; /*notreached*/
+}
+
+
+/*---------------------------------------------------*/
+/*--- Error [non-] handling grunge                ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------*/
+static
+void setExit ( Int32 v )
+{
+   if (v > exitValue) exitValue = v;
+}
+
+
+/*---------------------------------------------*/
+static 
+void cadvise ( void )
+{
+   if (noisy)
+   fprintf (
+      stderr,
+      "\nIt is possible that the compressed file(s) have become corrupted.\n"
+        "You can use the -tvv option to test integrity of such files.\n\n"
+        "You can use the `bzip2recover' program to attempt to recover\n"
+        "data from undamaged sections of corrupted files.\n\n"
+    );
+}
+
+
+/*---------------------------------------------*/
+static 
+void showFileNames ( void )
+{
+   if (noisy)
+   fprintf (
+      stderr,
+      "\tInput file = %s, output file = %s\n",
+      inName, outName 
+   );
+}
+
+
+/*---------------------------------------------*/
+static 
+void cleanUpAndFail ( Int32 ec )
+{
+   IntNative      retVal;
+   struct MY_STAT statBuf;
+
+   if ( srcMode == SM_F2F 
+        && opMode != OM_TEST
+        && deleteOutputOnInterrupt ) {
+
+      /* Check whether input file still exists.  Delete output file
+         only if input exists to avoid loss of data.  Joerg Prante, 5
+         January 2002.  (JRS 06-Jan-2002: other changes in 1.0.2 mean
+         this is less likely to happen.  But to be ultra-paranoid, we
+         do the check anyway.)  */
+      retVal = MY_STAT ( inName, &statBuf );
+      if (retVal == 0) {
+         if (noisy)
+            fprintf ( stderr, 
+                      "%s: Deleting output file %s, if it exists.\n",
+                      progName, outName );
+         if (outputHandleJustInCase != NULL)
+            fclose ( outputHandleJustInCase );
+         retVal = remove ( outName );
+         if (retVal != 0)
+            fprintf ( stderr,
+                      "%s: WARNING: deletion of output file "
+                      "(apparently) failed.\n",
+                      progName );
+      } else {
+         fprintf ( stderr,
+                   "%s: WARNING: deletion of output file suppressed\n",
+                    progName );
+         fprintf ( stderr,
+                   "%s:    since input file no longer exists.  Output file\n",
+                   progName );
+         fprintf ( stderr,
+                   "%s:    `%s' may be incomplete.\n",
+                   progName, outName );
+         fprintf ( stderr, 
+                   "%s:    I suggest doing an integrity test (bzip2 -tv)"
+                   " of it.\n",
+                   progName );
+      }
+   }
+
+   if (noisy && numFileNames > 0 && numFilesProcessed < numFileNames) {
+      fprintf ( stderr, 
+                "%s: WARNING: some files have not been processed:\n"
+                "%s:    %d specified on command line, %d not processed yet.\n\n",
+                progName, progName,
+                numFileNames, numFileNames - numFilesProcessed );
+   }
+   setExit(ec);
+   exit(exitValue);
+}
+
+
+/*---------------------------------------------*/
+static 
+void panic ( Char* s )
+{
+   fprintf ( stderr,
+             "\n%s: PANIC -- internal consistency error:\n"
+             "\t%s\n"
+             "\tThis is a BUG.  Please report it to me at:\n"
+             "\tjseward@bzip.org\n",
+             progName, s );
+   showFileNames();
+   cleanUpAndFail( 3 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void crcError ( void )
+{
+   fprintf ( stderr,
+             "\n%s: Data integrity error when decompressing.\n",
+             progName );
+   showFileNames();
+   cadvise();
+   cleanUpAndFail( 2 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void compressedStreamEOF ( void )
+{
+  if (noisy) {
+    fprintf ( stderr,
+             "\n%s: Compressed file ends unexpectedly;\n\t"
+             "perhaps it is corrupted?  *Possible* reason follows.\n",
+             progName );
+    perror ( progName );
+    showFileNames();
+    cadvise();
+  }
+  cleanUpAndFail( 2 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void ioError ( void )
+{
+   fprintf ( stderr,
+             "\n%s: I/O or other error, bailing out.  "
+             "Possible reason follows.\n",
+             progName );
+   perror ( progName );
+   showFileNames();
+   cleanUpAndFail( 1 );
+}
+
+
+/*---------------------------------------------*/
+static 
+void mySignalCatcher ( IntNative n )
+{
+   fprintf ( stderr,
+             "\n%s: Control-C or similar caught, quitting.\n",
+             progName );
+   cleanUpAndFail(1);
+}
+
+
+/*---------------------------------------------*/
+static 
+void mySIGSEGVorSIGBUScatcher ( IntNative n )
+{
+   if (opMode == OM_Z)
+      fprintf ( 
+      stderr,
+      "\n%s: Caught a SIGSEGV or SIGBUS whilst compressing.\n"
+      "\n"
+      "   Possible causes are (most likely first):\n"
+      "   (1) This computer has unreliable memory or cache hardware\n"
+      "       (a surprisingly common problem; try a different machine.)\n"
+      "   (2) A bug in the compiler used to create this executable\n"
+      "       (unlikely, if you didn't compile bzip2 yourself.)\n"
+      "   (3) A real bug in bzip2 -- I hope this should never be the case.\n"
+      "   The user's manual, Section 4.3, has more info on (1) and (2).\n"
+      "   \n"
+      "   If you suspect this is a bug in bzip2, or are unsure about (1)\n"
+      "   or (2), feel free to report it to me at: jseward@bzip.org.\n"
+      "   Section 4.3 of the user's manual describes the info a useful\n"
+      "   bug report should have.  If the manual is available on your\n"
+      "   system, please try and read it before mailing me.  If you don't\n"
+      "   have the manual or can't be bothered to read it, mail me anyway.\n"
+      "\n",
+      progName );
+      else
+      fprintf ( 
+      stderr,
+      "\n%s: Caught a SIGSEGV or SIGBUS whilst decompressing.\n"
+      "\n"
+      "   Possible causes are (most likely first):\n"
+      "   (1) The compressed data is corrupted, and bzip2's usual checks\n"
+      "       failed to detect this.  Try bzip2 -tvv my_file.bz2.\n"
+      "   (2) This computer has unreliable memory or cache hardware\n"
+      "       (a surprisingly common problem; try a different machine.)\n"
+      "   (3) A bug in the compiler used to create this executable\n"
+      "       (unlikely, if you didn't compile bzip2 yourself.)\n"
+      "   (4) A real bug in bzip2 -- I hope this should never be the case.\n"
+      "   The user's manual, Section 4.3, has more info on (2) and (3).\n"
+      "   \n"
+      "   If you suspect this is a bug in bzip2, or are unsure about (2)\n"
+      "   or (3), feel free to report it to me at: jseward@bzip.org.\n"
+      "   Section 4.3 of the user's manual describes the info a useful\n"
+      "   bug report should have.  If the manual is available on your\n"
+      "   system, please try and read it before mailing me.  If you don't\n"
+      "   have the manual or can't be bothered to read it, mail me anyway.\n"
+      "\n",
+      progName );
+
+   showFileNames();
+   if (opMode == OM_Z)
+      cleanUpAndFail( 3 ); else
+      { cadvise(); cleanUpAndFail( 2 ); }
+}
+
+
+/*---------------------------------------------*/
+static 
+void outOfMemory ( void )
+{
+   fprintf ( stderr,
+             "\n%s: couldn't allocate enough memory\n",
+             progName );
+   showFileNames();
+   cleanUpAndFail(1);
+}
+
+
+/*---------------------------------------------*/
+static 
+void configError ( void )
+{
+   fprintf ( stderr,
+             "bzip2: I'm not configured correctly for this platform!\n"
+             "\tI require Int32, Int16 and Char to have sizes\n"
+             "\tof 4, 2 and 1 bytes to run properly, and they don't.\n"
+             "\tProbably you can fix this by defining them correctly,\n"
+             "\tand recompiling.  Bye!\n" );
+   setExit(3);
+   exit(exitValue);
+}
+
+
+/*---------------------------------------------------*/
+/*--- The main driver machinery                   ---*/
+/*---------------------------------------------------*/
+
+/* All rather crufty.  The main problem is that input files
+   are stat()d multiple times before use.  This should be
+   cleaned up. 
+*/
+
+/*---------------------------------------------*/
+static 
+void pad ( Char *s )
+{
+   Int32 i;
+   if ( (Int32)strlen(s) >= longestFileName ) return;
+   for (i = 1; i <= longestFileName - (Int32)strlen(s); i++)
+      fprintf ( stderr, " " );
+}
+
+
+/*---------------------------------------------*/
+static 
+void copyFileName ( Char* to, Char* from ) 
+{
+   if ( strlen(from) > FILE_NAME_LEN-10 )  {
+      fprintf (
+         stderr,
+         "bzip2: file name\n`%s'\n"
+         "is suspiciously (more than %d chars) long.\n"
+         "Try using a reasonable file name instead.  Sorry! :-)\n",
+         from, FILE_NAME_LEN-10
+      );
+      setExit(1);
+      exit(exitValue);
+   }
+
+  strncpy(to,from,FILE_NAME_LEN-10);
+  to[FILE_NAME_LEN-10]='\0';
+}
+
+
+/*---------------------------------------------*/
+static 
+Bool fileExists ( Char* name )
+{
+   FILE *tmp   = fopen ( name, "rb" );
+   Bool exists = (tmp != NULL);
+   if (tmp != NULL) fclose ( tmp );
+   return exists;
+}
+
+
+/*---------------------------------------------*/
+/* Open an output file safely with O_EXCL and good permissions.
+   This avoids a race condition in versions < 1.0.2, in which
+   the file was first opened and then had its interim permissions
+   set safely.  We instead use open() to create the file with
+   the interim permissions required. (--- --- rw-).
+
+   For non-Unix platforms, if we are not worrying about
+   security issues, simple this simply behaves like fopen.
+*/
+FILE* fopen_output_safely ( Char* name, const char* mode )
+{
+#  if BZ_UNIX
+   FILE*     fp;
+   IntNative fh;
+   fh = open(name, O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR);
+   if (fh == -1) return NULL;
+   fp = fdopen(fh, mode);
+   if (fp == NULL) close(fh);
+   return fp;
+#  else
+   return fopen(name, mode);
+#  endif
+}
+
+
+/*---------------------------------------------*/
+/*--
+  if in doubt, return True
+--*/
+static 
+Bool notAStandardFile ( Char* name )
+{
+   IntNative      i;
+   struct MY_STAT statBuf;
+
+   i = MY_LSTAT ( name, &statBuf );
+   if (i != 0) return True;
+   if (MY_S_ISREG(statBuf.st_mode)) return False;
+   return True;
+}
+
+
+/*---------------------------------------------*/
+/*--
+  rac 11/21/98 see if file has hard links to it
+--*/
+static 
+Int32 countHardLinks ( Char* name )
+{  
+   IntNative      i;
+   struct MY_STAT statBuf;
+
+   i = MY_LSTAT ( name, &statBuf );
+   if (i != 0) return 0;
+   return (statBuf.st_nlink - 1);
+}
+
+
+/*---------------------------------------------*/
+/* Copy modification date, access date, permissions and owner from the
+   source to destination file.  We have to copy this meta-info off
+   into fileMetaInfo before starting to compress / decompress it,
+   because doing it afterwards means we get the wrong access time.
+
+   To complicate matters, in compress() and decompress() below, the
+   sequence of tests preceding the call to saveInputFileMetaInfo()
+   involves calling fileExists(), which in turn establishes its result
+   by attempting to fopen() the file, and if successful, immediately
+   fclose()ing it again.  So we have to assume that the fopen() call
+   does not cause the access time field to be updated.
+
+   Reading of the man page for stat() (man 2 stat) on RedHat 7.2 seems
+   to imply that merely doing open() will not affect the access time.
+   Therefore we merely need to hope that the C library only does
+   open() as a result of fopen(), and not any kind of read()-ahead
+   cleverness.
+
+   It sounds pretty fragile to me.  Whether this carries across
+   robustly to arbitrary Unix-like platforms (or even works robustly
+   on this one, RedHat 7.2) is unknown to me.  Nevertheless ...  
+*/
+#if BZ_UNIX
+static 
+struct MY_STAT fileMetaInfo;
+#endif
+
+static 
+void saveInputFileMetaInfo ( Char *srcName )
+{
+#  if BZ_UNIX
+   IntNative retVal;
+   /* Note use of stat here, not lstat. */
+   retVal = MY_STAT( srcName, &fileMetaInfo );
+   ERROR_IF_NOT_ZERO ( retVal );
+#  endif
+}
+
+
+static 
+void applySavedMetaInfoToOutputFile ( Char *dstName )
+{
+#  if BZ_UNIX
+   IntNative      retVal;
+   struct utimbuf uTimBuf;
+
+   uTimBuf.actime = fileMetaInfo.st_atime;
+   uTimBuf.modtime = fileMetaInfo.st_mtime;
+
+   retVal = chmod ( dstName, fileMetaInfo.st_mode );
+   ERROR_IF_NOT_ZERO ( retVal );
+
+   retVal = utime ( dstName, &uTimBuf );
+   ERROR_IF_NOT_ZERO ( retVal );
+
+   retVal = chown ( dstName, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
+   /* chown() will in many cases return with EPERM, which can
+      be safely ignored.
+   */
+#  endif
+}
+
+
+/*---------------------------------------------*/
+static 
+Bool containsDubiousChars ( Char* name )
+{
+#  if BZ_UNIX
+   /* On unix, files can contain any characters and the file expansion
+    * is performed by the shell.
+    */
+   return False;
+#  else /* ! BZ_UNIX */
+   /* On non-unix (Win* platforms), wildcard characters are not allowed in 
+    * filenames.
+    */
+   for (; *name != '\0'; name++)
+      if (*name == '?' || *name == '*') return True;
+   return False;
+#  endif /* BZ_UNIX */
+}
+
+
+/*---------------------------------------------*/
+#define BZ_N_SUFFIX_PAIRS 4
+
+Char* zSuffix[BZ_N_SUFFIX_PAIRS] 
+   = { ".bz2", ".bz", ".tbz2", ".tbz" };
+Char* unzSuffix[BZ_N_SUFFIX_PAIRS] 
+   = { "", "", ".tar", ".tar" };
+
+static 
+Bool hasSuffix ( Char* s, Char* suffix )
+{
+   Int32 ns = strlen(s);
+   Int32 nx = strlen(suffix);
+   if (ns < nx) return False;
+   if (strcmp(s + ns - nx, suffix) == 0) return True;
+   return False;
+}
+
+static 
+Bool mapSuffix ( Char* name, 
+                 Char* oldSuffix, Char* newSuffix )
+{
+   if (!hasSuffix(name,oldSuffix)) return False;
+   name[strlen(name)-strlen(oldSuffix)] = 0;
+   strcat ( name, newSuffix );
+   return True;
+}
+
+
+/*---------------------------------------------*/
+static 
+void compress ( Char *name )
+{
+   FILE  *inStr;
+   FILE  *outStr;
+   Int32 n, i;
+   struct MY_STAT statBuf;
+
+   deleteOutputOnInterrupt = False;
+
+   if (name == NULL && srcMode != SM_I2O)
+      panic ( "compress: bad modes\n" );
+
+   switch (srcMode) {
+      case SM_I2O: 
+         copyFileName ( inName, "(stdin)" );
+         copyFileName ( outName, "(stdout)" ); 
+         break;
+      case SM_F2F: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, name );
+         strcat ( outName, ".bz2" ); 
+         break;
+      case SM_F2O: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, "(stdout)" ); 
+         break;
+   }
+
+   if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
+      if (noisy)
+      fprintf ( stderr, "%s: There are no files matching `%s'.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
+      fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                progName, inName, strerror(errno) );
+      setExit(1);
+      return;
+   }
+   for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) {
+      if (hasSuffix(inName, zSuffix[i])) {
+         if (noisy)
+         fprintf ( stderr, 
+                   "%s: Input file %s already has %s suffix.\n",
+                   progName, inName, zSuffix[i] );
+         setExit(1);
+         return;
+      }
+   }
+   if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
+      MY_STAT(inName, &statBuf);
+      if ( MY_S_ISDIR(statBuf.st_mode) ) {
+         fprintf( stderr,
+                  "%s: Input file %s is a directory.\n",
+                  progName,inName);
+         setExit(1);
+         return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
+      if (noisy)
+      fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode == SM_F2F && fileExists ( outName ) ) {
+      if (forceOverwrite) {
+        remove(outName);
+      } else {
+        fprintf ( stderr, "%s: Output file %s already exists.\n",
+                  progName, outName );
+        setExit(1);
+        return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite &&
+        (n=countHardLinks ( inName )) > 0) {
+      fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
+                progName, inName, n, n > 1 ? "s" : "" );
+      setExit(1);
+      return;
+   }
+
+   if ( srcMode == SM_F2F ) {
+      /* Save the file's meta-info before we open it.  Doing it later
+         means we mess up the access times. */
+      saveInputFileMetaInfo ( inName );
+   }
+
+   switch ( srcMode ) {
+
+      case SM_I2O:
+         inStr = stdin;
+         outStr = stdout;
+         if ( isatty ( fileno ( stdout ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't write compressed data to a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2O:
+         inStr = fopen ( inName, "rb" );
+         outStr = stdout;
+         if ( isatty ( fileno ( stdout ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't write compressed data to a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         };
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                      progName, inName, strerror(errno) );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2F:
+         inStr = fopen ( inName, "rb" );
+         outStr = fopen_output_safely ( outName, "wb" );
+         if ( outStr == NULL) {
+            fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
+                      progName, outName, strerror(errno) );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         }
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                      progName, inName, strerror(errno) );
+            if ( outStr != NULL ) fclose ( outStr );
+            setExit(1);
+            return;
+         };
+         break;
+
+      default:
+         panic ( "compress: bad srcMode" );
+         break;
+   }
+
+   if (verbosity >= 1) {
+      fprintf ( stderr,  "  %s: ", inName );
+      pad ( inName );
+      fflush ( stderr );
+   }
+
+   /*--- Now the input and output handles are sane.  Do the Biz. ---*/
+   outputHandleJustInCase = outStr;
+   deleteOutputOnInterrupt = True;
+   compressStream ( inStr, outStr );
+   outputHandleJustInCase = NULL;
+
+   /*--- If there was an I/O error, we won't get here. ---*/
+   if ( srcMode == SM_F2F ) {
+      applySavedMetaInfoToOutputFile ( outName );
+      deleteOutputOnInterrupt = False;
+      if ( !keepInputFiles ) {
+         IntNative retVal = remove ( inName );
+         ERROR_IF_NOT_ZERO ( retVal );
+      }
+   }
+
+   deleteOutputOnInterrupt = False;
+}
+
+
+/*---------------------------------------------*/
+static 
+void uncompress ( Char *name )
+{
+   FILE  *inStr;
+   FILE  *outStr;
+   Int32 n, i;
+   Bool  magicNumberOK;
+   Bool  cantGuess;
+   struct MY_STAT statBuf;
+
+   deleteOutputOnInterrupt = False;
+
+   if (name == NULL && srcMode != SM_I2O)
+      panic ( "uncompress: bad modes\n" );
+
+   cantGuess = False;
+   switch (srcMode) {
+      case SM_I2O: 
+         copyFileName ( inName, "(stdin)" );
+         copyFileName ( outName, "(stdout)" ); 
+         break;
+      case SM_F2F: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, name );
+         for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++)
+            if (mapSuffix(outName,zSuffix[i],unzSuffix[i]))
+               goto zzz; 
+         cantGuess = True;
+         strcat ( outName, ".out" );
+         break;
+      case SM_F2O: 
+         copyFileName ( inName, name );
+         copyFileName ( outName, "(stdout)" ); 
+         break;
+   }
+
+   zzz:
+   if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
+      if (noisy)
+      fprintf ( stderr, "%s: There are no files matching `%s'.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
+      fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                progName, inName, strerror(errno) );
+      setExit(1);
+      return;
+   }
+   if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
+      MY_STAT(inName, &statBuf);
+      if ( MY_S_ISDIR(statBuf.st_mode) ) {
+         fprintf( stderr,
+                  "%s: Input file %s is a directory.\n",
+                  progName,inName);
+         setExit(1);
+         return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
+      if (noisy)
+      fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( /* srcMode == SM_F2F implied && */ cantGuess ) {
+      if (noisy)
+      fprintf ( stderr, 
+                "%s: Can't guess original name for %s -- using %s\n",
+                progName, inName, outName );
+      /* just a warning, no return */
+   }   
+   if ( srcMode == SM_F2F && fileExists ( outName ) ) {
+      if (forceOverwrite) {
+       remove(outName);
+      } else {
+        fprintf ( stderr, "%s: Output file %s already exists.\n",
+                  progName, outName );
+        setExit(1);
+        return;
+      }
+   }
+   if ( srcMode == SM_F2F && !forceOverwrite &&
+        (n=countHardLinks ( inName ) ) > 0) {
+      fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
+                progName, inName, n, n > 1 ? "s" : "" );
+      setExit(1);
+      return;
+   }
+
+   if ( srcMode == SM_F2F ) {
+      /* Save the file's meta-info before we open it.  Doing it later
+         means we mess up the access times. */
+      saveInputFileMetaInfo ( inName );
+   }
+
+   switch ( srcMode ) {
+
+      case SM_I2O:
+         inStr = stdin;
+         outStr = stdout;
+         if ( isatty ( fileno ( stdin ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't read compressed data from a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2O:
+         inStr = fopen ( inName, "rb" );
+         outStr = stdout;
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
+                      progName, inName, strerror(errno) );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         };
+         break;
+
+      case SM_F2F:
+         inStr = fopen ( inName, "rb" );
+         outStr = fopen_output_safely ( outName, "wb" );
+         if ( outStr == NULL) {
+            fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
+                      progName, outName, strerror(errno) );
+            if ( inStr != NULL ) fclose ( inStr );
+            setExit(1);
+            return;
+         }
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
+                      progName, inName, strerror(errno) );
+            if ( outStr != NULL ) fclose ( outStr );
+            setExit(1);
+            return;
+         };
+         break;
+
+      default:
+         panic ( "uncompress: bad srcMode" );
+         break;
+   }
+
+   if (verbosity >= 1) {
+      fprintf ( stderr, "  %s: ", inName );
+      pad ( inName );
+      fflush ( stderr );
+   }
+
+   /*--- Now the input and output handles are sane.  Do the Biz. ---*/
+   outputHandleJustInCase = outStr;
+   deleteOutputOnInterrupt = True;
+   magicNumberOK = uncompressStream ( inStr, outStr );
+   outputHandleJustInCase = NULL;
+
+   /*--- If there was an I/O error, we won't get here. ---*/
+   if ( magicNumberOK ) {
+      if ( srcMode == SM_F2F ) {
+         applySavedMetaInfoToOutputFile ( outName );
+         deleteOutputOnInterrupt = False;
+         if ( !keepInputFiles ) {
+            IntNative retVal = remove ( inName );
+            ERROR_IF_NOT_ZERO ( retVal );
+         }
+      }
+   } else {
+      unzFailsExist = True;
+      deleteOutputOnInterrupt = False;
+      if ( srcMode == SM_F2F ) {
+         IntNative retVal = remove ( outName );
+         ERROR_IF_NOT_ZERO ( retVal );
+      }
+   }
+   deleteOutputOnInterrupt = False;
+
+   if ( magicNumberOK ) {
+      if (verbosity >= 1)
+         fprintf ( stderr, "done\n" );
+   } else {
+      setExit(2);
+      if (verbosity >= 1)
+         fprintf ( stderr, "not a bzip2 file.\n" ); else
+         fprintf ( stderr,
+                   "%s: %s is not a bzip2 file.\n",
+                   progName, inName );
+   }
+
+}
+
+
+/*---------------------------------------------*/
+static 
+void testf ( Char *name )
+{
+   FILE *inStr;
+   Bool allOK;
+   struct MY_STAT statBuf;
+
+   deleteOutputOnInterrupt = False;
+
+   if (name == NULL && srcMode != SM_I2O)
+      panic ( "testf: bad modes\n" );
+
+   copyFileName ( outName, "(none)" );
+   switch (srcMode) {
+      case SM_I2O: copyFileName ( inName, "(stdin)" ); break;
+      case SM_F2F: copyFileName ( inName, name ); break;
+      case SM_F2O: copyFileName ( inName, name ); break;
+   }
+
+   if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
+      if (noisy)
+      fprintf ( stderr, "%s: There are no files matching `%s'.\n",
+                progName, inName );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
+      fprintf ( stderr, "%s: Can't open input %s: %s.\n",
+                progName, inName, strerror(errno) );
+      setExit(1);
+      return;
+   }
+   if ( srcMode != SM_I2O ) {
+      MY_STAT(inName, &statBuf);
+      if ( MY_S_ISDIR(statBuf.st_mode) ) {
+         fprintf( stderr,
+                  "%s: Input file %s is a directory.\n",
+                  progName,inName);
+         setExit(1);
+         return;
+      }
+   }
+
+   switch ( srcMode ) {
+
+      case SM_I2O:
+         if ( isatty ( fileno ( stdin ) ) ) {
+            fprintf ( stderr,
+                      "%s: I won't read compressed data from a terminal.\n",
+                      progName );
+            fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
+                              progName, progName );
+            setExit(1);
+            return;
+         };
+         inStr = stdin;
+         break;
+
+      case SM_F2O: case SM_F2F:
+         inStr = fopen ( inName, "rb" );
+         if ( inStr == NULL ) {
+            fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
+                      progName, inName, strerror(errno) );
+            setExit(1);
+            return;
+         };
+         break;
+
+      default:
+         panic ( "testf: bad srcMode" );
+         break;
+   }
+
+   if (verbosity >= 1) {
+      fprintf ( stderr, "  %s: ", inName );
+      pad ( inName );
+      fflush ( stderr );
+   }
+
+   /*--- Now the input handle is sane.  Do the Biz. ---*/
+   outputHandleJustInCase = NULL;
+   allOK = testStream ( inStr );
+
+   if (allOK && verbosity >= 1) fprintf ( stderr, "ok\n" );
+   if (!allOK) testFailsExist = True;
+}
+
+
+/*---------------------------------------------*/
+static 
+void license ( void )
+{
+   fprintf ( stderr,
+
+    "bzip2, a block-sorting file compressor.  "
+    "Version %s.\n"
+    "   \n"
+    "   Copyright (C) 1996-2005 by Julian Seward.\n"
+    "   \n"
+    "   This program is free software; you can redistribute it and/or modify\n"
+    "   it under the terms set out in the LICENSE file, which is included\n"
+    "   in the bzip2-1.0 source distribution.\n"
+    "   \n"
+    "   This program is distributed in the hope that it will be useful,\n"
+    "   but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+    "   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+    "   LICENSE file for more details.\n"
+    "   \n",
+    BZ2_bzlibVersion()
+   );
+}
+
+
+/*---------------------------------------------*/
+static 
+void usage ( Char *fullProgName )
+{
+   fprintf (
+      stderr,
+      "bzip2, a block-sorting file compressor.  "
+      "Version %s.\n"
+      "\n   usage: %s [flags and input files in any order]\n"
+      "\n"
+      "   -h --help           print this message\n"
+      "   -d --decompress     force decompression\n"
+      "   -z --compress       force compression\n"
+      "   -k --keep           keep (don't delete) input files\n"
+      "   -f --force          overwrite existing output files\n"
+      "   -t --test           test compressed file integrity\n"
+      "   -c --stdout         output to standard out\n"
+      "   -q --quiet          suppress noncritical error messages\n"
+      "   -v --verbose        be verbose (a 2nd -v gives more)\n"
+      "   -L --license        display software version & license\n"
+      "   -V --version        display software version & license\n"
+      "   -s --small          use less memory (at most 2500k)\n"
+      "   -1 .. -9            set block size to 100k .. 900k\n"
+      "   --fast              alias for -1\n"
+      "   --best              alias for -9\n"
+      "\n"
+      "   If invoked as `bzip2', default action is to compress.\n"
+      "              as `bunzip2',  default action is to decompress.\n"
+      "              as `bzcat', default action is to decompress to stdout.\n"
+      "\n"
+      "   If no file names are given, bzip2 compresses or decompresses\n"
+      "   from standard input to standard output.  You can combine\n"
+      "   short flags, so `-v -4' means the same as -v4 or -4v, &c.\n"
+#     if BZ_UNIX
+      "\n"
+#     endif
+      ,
+
+      BZ2_bzlibVersion(),
+      fullProgName
+   );
+}
+
+
+/*---------------------------------------------*/
+static 
+void redundant ( Char* flag )
+{
+   fprintf ( 
+      stderr, 
+      "%s: %s is redundant in versions 0.9.5 and above\n",
+      progName, flag );
+}
+
+
+/*---------------------------------------------*/
+/*--
+  All the garbage from here to main() is purely to
+  implement a linked list of command-line arguments,
+  into which main() copies argv[1 .. argc-1].
+
+  The purpose of this exercise is to facilitate 
+  the expansion of wildcard characters * and ? in 
+  filenames for OSs which don't know how to do it
+  themselves, like MSDOS, Windows 95 and NT.
+
+  The actual Dirty Work is done by the platform-
+  specific macro APPEND_FILESPEC.
+--*/
+
+typedef
+   struct zzzz {
+      Char        *name;
+      struct zzzz *link;
+   }
+   Cell;
+
+
+/*---------------------------------------------*/
+static 
+void *myMalloc ( Int32 n )
+{
+   void* p;
+
+   p = malloc ( (size_t)n );
+   if (p == NULL) outOfMemory ();
+   return p;
+}
+
+
+/*---------------------------------------------*/
+static 
+Cell *mkCell ( void )
+{
+   Cell *c;
+
+   c = (Cell*) myMalloc ( sizeof ( Cell ) );
+   c->name = NULL;
+   c->link = NULL;
+   return c;
+}
+
+
+/*---------------------------------------------*/
+static 
+Cell *snocString ( Cell *root, Char *name )
+{
+   if (root == NULL) {
+      Cell *tmp = mkCell();
+      tmp->name = (Char*) myMalloc ( 5 + strlen(name) );
+      strcpy ( tmp->name, name );
+      return tmp;
+   } else {
+      Cell *tmp = root;
+      while (tmp->link != NULL) tmp = tmp->link;
+      tmp->link = snocString ( tmp->link, name );
+      return root;
+   }
+}
+
+
+/*---------------------------------------------*/
+static 
+void addFlagsFromEnvVar ( Cell** argList, Char* varName ) 
+{
+   Int32 i, j, k;
+   Char *envbase, *p;
+
+   envbase = getenv(varName);
+   if (envbase != NULL) {
+      p = envbase;
+      i = 0;
+      while (True) {
+         if (p[i] == 0) break;
+         p += i;
+         i = 0;
+         while (isspace((Int32)(p[0]))) p++;
+         while (p[i] != 0 && !isspace((Int32)(p[i]))) i++;
+         if (i > 0) {
+            k = i; if (k > FILE_NAME_LEN-10) k = FILE_NAME_LEN-10;
+            for (j = 0; j < k; j++) tmpName[j] = p[j];
+            tmpName[k] = 0;
+            APPEND_FLAG(*argList, tmpName);
+         }
+      }
+   }
+}
+
+
+/*---------------------------------------------*/
+#define ISFLAG(s) (strcmp(aa->name, (s))==0)
+
+IntNative main ( IntNative argc, Char *argv[] )
+{
+   Int32  i, j;
+   Char   *tmp;
+   Cell   *argList;
+   Cell   *aa;
+   Bool   decode;
+
+   /*-- Be really really really paranoid :-) --*/
+   if (sizeof(Int32) != 4 || sizeof(UInt32) != 4  ||
+       sizeof(Int16) != 2 || sizeof(UInt16) != 2  ||
+       sizeof(Char)  != 1 || sizeof(UChar)  != 1)
+      configError();
+
+   /*-- Initialise --*/
+   outputHandleJustInCase  = NULL;
+   smallMode               = False;
+   keepInputFiles          = False;
+   forceOverwrite          = False;
+   noisy                   = True;
+   verbosity               = 0;
+   blockSize100k           = 9;
+   testFailsExist          = False;
+   unzFailsExist           = False;
+   numFileNames            = 0;
+   numFilesProcessed       = 0;
+   workFactor              = 30;
+   deleteOutputOnInterrupt = False;
+   exitValue               = 0;
+   i = j = 0; /* avoid bogus warning from egcs-1.1.X */
+
+   /*-- Set up signal handlers for mem access errors --*/
+   signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
+#  if BZ_UNIX
+#  ifndef __DJGPP__
+   signal (SIGBUS,  mySIGSEGVorSIGBUScatcher);
+#  endif
+#  endif
+
+   copyFileName ( inName,  "(none)" );
+   copyFileName ( outName, "(none)" );
+
+   copyFileName ( progNameReally, argv[0] );
+   progName = &progNameReally[0];
+   for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++)
+      if (*tmp == PATH_SEP) progName = tmp + 1;
+
+
+   /*-- Copy flags from env var BZIP2, and 
+        expand filename wildcards in arg list.
+   --*/
+   argList = NULL;
+   addFlagsFromEnvVar ( &argList,  "BZIP2" );
+   addFlagsFromEnvVar ( &argList,  "BZIP" );
+   for (i = 1; i <= argc-1; i++)
+      APPEND_FILESPEC(argList, argv[i]);
+
+
+   /*-- Find the length of the longest filename --*/
+   longestFileName = 7;
+   numFileNames    = 0;
+   decode          = True;
+   for (aa = argList; aa != NULL; aa = aa->link) {
+      if (ISFLAG("--")) { decode = False; continue; }
+      if (aa->name[0] == '-' && decode) continue;
+      numFileNames++;
+      if (longestFileName < (Int32)strlen(aa->name) )
+         longestFileName = (Int32)strlen(aa->name);
+   }
+
+
+   /*-- Determine source modes; flag handling may change this too. --*/
+   if (numFileNames == 0)
+      srcMode = SM_I2O; else srcMode = SM_F2F;
+
+
+   /*-- Determine what to do (compress/uncompress/test/cat). --*/
+   /*-- Note that subsequent flag handling may change this. --*/
+   opMode = OM_Z;
+
+   if ( (strstr ( progName, "unzip" ) != 0) ||
+        (strstr ( progName, "UNZIP" ) != 0) )
+      opMode = OM_UNZ;
+
+   if ( (strstr ( progName, "z2cat" ) != 0) ||
+        (strstr ( progName, "Z2CAT" ) != 0) ||
+        (strstr ( progName, "zcat" ) != 0)  ||
+        (strstr ( progName, "ZCAT" ) != 0) )  {
+      opMode = OM_UNZ;
+      srcMode = (numFileNames == 0) ? SM_I2O : SM_F2O;
+   }
+
+
+   /*-- Look at the flags. --*/
+   for (aa = argList; aa != NULL; aa = aa->link) {
+      if (ISFLAG("--")) break;
+      if (aa->name[0] == '-' && aa->name[1] != '-') {
+         for (j = 1; aa->name[j] != '\0'; j++) {
+            switch (aa->name[j]) {
+               case 'c': srcMode          = SM_F2O; break;
+               case 'd': opMode           = OM_UNZ; break;
+               case 'z': opMode           = OM_Z; break;
+               case 'f': forceOverwrite   = True; break;
+               case 't': opMode           = OM_TEST; break;
+               case 'k': keepInputFiles   = True; break;
+               case 's': smallMode        = True; break;
+               case 'q': noisy            = False; break;
+               case '1': blockSize100k    = 1; break;
+               case '2': blockSize100k    = 2; break;
+               case '3': blockSize100k    = 3; break;
+               case '4': blockSize100k    = 4; break;
+               case '5': blockSize100k    = 5; break;
+               case '6': blockSize100k    = 6; break;
+               case '7': blockSize100k    = 7; break;
+               case '8': blockSize100k    = 8; break;
+               case '9': blockSize100k    = 9; break;
+               case 'V':
+               case 'L': license();            break;
+               case 'v': verbosity++; break;
+               case 'h': usage ( progName );
+                         exit ( 0 );
+                         break;
+               default:  fprintf ( stderr, "%s: Bad flag `%s'\n",
+                                   progName, aa->name );
+                         usage ( progName );
+                         exit ( 1 );
+                         break;
+            }
+         }
+      }
+   }
+   
+   /*-- And again ... --*/
+   for (aa = argList; aa != NULL; aa = aa->link) {
+      if (ISFLAG("--")) break;
+      if (ISFLAG("--stdout"))            srcMode          = SM_F2O;  else
+      if (ISFLAG("--decompress"))        opMode           = OM_UNZ;  else
+      if (ISFLAG("--compress"))          opMode           = OM_Z;    else
+      if (ISFLAG("--force"))             forceOverwrite   = True;    else
+      if (ISFLAG("--test"))              opMode           = OM_TEST; else
+      if (ISFLAG("--keep"))              keepInputFiles   = True;    else
+      if (ISFLAG("--small"))             smallMode        = True;    else
+      if (ISFLAG("--quiet"))             noisy            = False;   else
+      if (ISFLAG("--version"))           license();                  else
+      if (ISFLAG("--license"))           license();                  else
+      if (ISFLAG("--exponential"))       workFactor = 1;             else 
+      if (ISFLAG("--repetitive-best"))   redundant(aa->name);        else
+      if (ISFLAG("--repetitive-fast"))   redundant(aa->name);        else
+      if (ISFLAG("--fast"))              blockSize100k = 1;          else
+      if (ISFLAG("--best"))              blockSize100k = 9;          else
+      if (ISFLAG("--verbose"))           verbosity++;                else
+      if (ISFLAG("--help"))              { usage ( progName ); exit ( 0 ); }
+         else
+         if (strncmp ( aa->name, "--", 2) == 0) {
+            fprintf ( stderr, "%s: Bad flag `%s'\n", progName, aa->name );
+            usage ( progName );
+            exit ( 1 );
+         }
+   }
+
+   if (verbosity > 4) verbosity = 4;
+   if (opMode == OM_Z && smallMode && blockSize100k > 2) 
+      blockSize100k = 2;
+
+   if (opMode == OM_TEST && srcMode == SM_F2O) {
+      fprintf ( stderr, "%s: -c and -t cannot be used together.\n",
+                progName );
+      exit ( 1 );
+   }
+
+   if (srcMode == SM_F2O && numFileNames == 0)
+      srcMode = SM_I2O;
+
+   if (opMode != OM_Z) blockSize100k = 0;
+
+   if (srcMode == SM_F2F) {
+      signal (SIGINT,  mySignalCatcher);
+      signal (SIGTERM, mySignalCatcher);
+#     if BZ_UNIX
+      signal (SIGHUP,  mySignalCatcher);
+#     endif
+   }
+
+   if (opMode == OM_Z) {
+     if (srcMode == SM_I2O) {
+        compress ( NULL );
+     } else {
+        decode = True;
+        for (aa = argList; aa != NULL; aa = aa->link) {
+           if (ISFLAG("--")) { decode = False; continue; }
+           if (aa->name[0] == '-' && decode) continue;
+           numFilesProcessed++;
+           compress ( aa->name );
+        }
+     }
+   } 
+   else
+
+   if (opMode == OM_UNZ) {
+      unzFailsExist = False;
+      if (srcMode == SM_I2O) {
+         uncompress ( NULL );
+      } else {
+         decode = True;
+         for (aa = argList; aa != NULL; aa = aa->link) {
+            if (ISFLAG("--")) { decode = False; continue; }
+            if (aa->name[0] == '-' && decode) continue;
+            numFilesProcessed++;
+            uncompress ( aa->name );
+         }      
+      }
+      if (unzFailsExist) { 
+         setExit(2); 
+         exit(exitValue);
+      }
+   } 
+
+   else {
+      testFailsExist = False;
+      if (srcMode == SM_I2O) {
+         testf ( NULL );
+      } else {
+         decode = True;
+         for (aa = argList; aa != NULL; aa = aa->link) {
+           if (ISFLAG("--")) { decode = False; continue; }
+            if (aa->name[0] == '-' && decode) continue;
+            numFilesProcessed++;
+            testf ( aa->name );
+        }
+      }
+      if (testFailsExist && noisy) {
+         fprintf ( stderr,
+           "\n"
+           "You can use the `bzip2recover' program to attempt to recover\n"
+           "data from undamaged sections of corrupted files.\n\n"
+         );
+         setExit(2);
+         exit(exitValue);
+      }
+   }
+
+   /* Free the argument list memory to mollify leak detectors 
+      (eg) Purify, Checker.  Serves no other useful purpose.
+   */
+   aa = argList;
+   while (aa != NULL) {
+      Cell* aa2 = aa->link;
+      if (aa->name != NULL) free(aa->name);
+      free(aa);
+      aa = aa2;
+   }
+
+   return exitValue;
+}
+
+
+/*-----------------------------------------------------------*/
+/*--- end                                         bzip2.c ---*/
+/*-----------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/bzip2.txt b/commands/bzip2-1.0.3/bzip2.txt
new file mode 100644 (file)
index 0000000..bf895b6
--- /dev/null
@@ -0,0 +1,391 @@
+
+NAME
+       bzip2, bunzip2 - a block-sorting file compressor, v1.0.3
+       bzcat - decompresses files to stdout
+       bzip2recover - recovers data from damaged bzip2 files
+
+
+SYNOPSIS
+       bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ...  ]
+       bunzip2 [ -fkvsVL ] [ filenames ...  ]
+       bzcat [ -s ] [ filenames ...  ]
+       bzip2recover filename
+
+
+DESCRIPTION
+       bzip2  compresses  files  using  the Burrows-Wheeler block
+       sorting text compression algorithm,  and  Huffman  coding.
+       Compression  is  generally  considerably  better than that
+       achieved by more conventional LZ77/LZ78-based compressors,
+       and  approaches  the performance of the PPM family of sta-
+       tistical compressors.
+
+       The command-line options are deliberately very similar  to
+       those of GNU gzip, but they are not identical.
+
+       bzip2  expects  a list of file names to accompany the com-
+       mand-line flags.  Each file is replaced  by  a  compressed
+       version  of  itself,  with  the  name "original_name.bz2".
+       Each compressed file has the same modification date,  per-
+       missions, and, when possible, ownership as the correspond-
+       ing original, so that these properties  can  be  correctly
+       restored  at  decompression  time.   File name handling is
+       naive in the sense that there is no mechanism for preserv-
+       ing  original file names, permissions, ownerships or dates
+       in filesystems which lack these concepts, or have  serious
+       file name length restrictions, such as MS-DOS.
+
+       bzip2  and  bunzip2 will by default not overwrite existing
+       files.  If you want this to happen, specify the -f flag.
+
+       If no file names  are  specified,  bzip2  compresses  from
+       standard  input  to  standard output.  In this case, bzip2
+       will decline to write compressed output to a terminal,  as
+       this  would  be  entirely  incomprehensible  and therefore
+       pointless.
+
+       bunzip2 (or bzip2 -d) decompresses  all  specified  files.
+       Files which were not created by bzip2 will be detected and
+       ignored, and a warning issued.  bzip2  attempts  to  guess
+       the  filename  for  the decompressed file from that of the
+       compressed file as follows:
+
+              filename.bz2    becomes   filename
+              filename.bz     becomes   filename
+              filename.tbz2   becomes   filename.tar
+              filename.tbz    becomes   filename.tar
+              anyothername    becomes   anyothername.out
+
+       If the file does not end in one of the recognised endings,
+       .bz2,  .bz,  .tbz2 or .tbz, bzip2 complains that it cannot
+       guess the name of the original file, and uses the original
+       name with .out appended.
+
+       As  with compression, supplying no filenames causes decom-
+       pression from standard input to standard output.
+
+       bunzip2 will correctly decompress a file which is the con-
+       catenation of two or more compressed files.  The result is
+       the concatenation of the corresponding uncompressed files.
+       Integrity testing (-t) of concatenated compressed files is
+       also supported.
+
+       You can also compress or decompress files to the  standard
+       output  by giving the -c flag.  Multiple files may be com-
+       pressed and decompressed like this.  The resulting outputs
+       are  fed  sequentially to stdout.  Compression of multiple
+       files in this manner generates a stream containing  multi-
+       ple compressed file representations.  Such a stream can be
+       decompressed correctly only  by  bzip2  version  0.9.0  or
+       later.   Earlier  versions of bzip2 will stop after decom-
+       pressing the first file in the stream.
+
+       bzcat (or bzip2 -dc) decompresses all specified  files  to
+       the standard output.
+
+       bzip2  will  read arguments from the environment variables
+       BZIP2 and BZIP, in  that  order,  and  will  process  them
+       before  any  arguments  read  from the command line.  This
+       gives a convenient way to supply default arguments.
+
+       Compression is always performed, even  if  the  compressed
+       file  is slightly larger than the original.  Files of less
+       than about one hundred bytes tend to get larger, since the
+       compression  mechanism  has  a  constant  overhead  in the
+       region of 50 bytes.  Random data (including the output  of
+       most  file  compressors)  is  coded at about 8.05 bits per
+       byte, giving an expansion of around 0.5%.
+
+       As a self-check for your  protection,  bzip2  uses  32-bit
+       CRCs  to make sure that the decompressed version of a file
+       is identical to the original.  This guards against corrup-
+       tion  of  the compressed data, and against undetected bugs
+       in bzip2 (hopefully very unlikely).  The chances  of  data
+       corruption  going  undetected  is  microscopic,  about one
+       chance in four billion for each file processed.  Be aware,
+       though,  that  the  check occurs upon decompression, so it
+       can only tell you that something is wrong.  It can't  help
+       you  recover  the original uncompressed data.  You can use
+       bzip2recover to try to recover data from damaged files.
+
+       Return values: 0 for a normal exit,  1  for  environmental
+       problems  (file not found, invalid flags, I/O errors, &c),
+       2 to indicate a corrupt compressed file, 3 for an internal
+       consistency error (eg, bug) which caused bzip2 to panic.
+
+
+OPTIONS
+       -c --stdout
+              Compress or decompress to standard output.
+
+       -d --decompress
+              Force  decompression.  bzip2, bunzip2 and bzcat are
+              really the same program,  and  the  decision  about
+              what  actions to take is done on the basis of which
+              name is used.  This flag overrides that  mechanism,
+              and forces bzip2 to decompress.
+
+       -z --compress
+              The   complement   to   -d:   forces   compression,
+              regardless of the invocation name.
+
+       -t --test
+              Check integrity of the specified file(s), but don't
+              decompress  them.   This  really  performs  a trial
+              decompression and throws away the result.
+
+       -f --force
+              Force overwrite of output files.   Normally,  bzip2
+              will  not  overwrite  existing  output files.  Also
+              forces bzip2 to break hard links to files, which it
+              otherwise wouldn't do.
+
+              bzip2  normally  declines to decompress files which
+              don't have the  correct  magic  header  bytes.   If
+              forced  (-f),  however,  it  will  pass  such files
+              through unmodified.  This is how GNU gzip  behaves.
+
+       -k --keep
+              Keep  (don't delete) input files during compression
+              or decompression.
+
+       -s --small
+              Reduce memory usage, for compression, decompression
+              and  testing.   Files  are  decompressed and tested
+              using a modified algorithm which only requires  2.5
+              bytes  per  block byte.  This means any file can be
+              decompressed in 2300k of memory,  albeit  at  about
+              half the normal speed.
+
+              During  compression,  -s  selects  a  block size of
+              200k, which limits memory use to  around  the  same
+              figure,  at  the expense of your compression ratio.
+              In short, if your  machine  is  low  on  memory  (8
+              megabytes  or  less),  use  -s for everything.  See
+              MEMORY MANAGEMENT below.
+
+       -q --quiet
+              Suppress non-essential warning messages.   Messages
+              pertaining  to I/O errors and other critical events
+              will not be suppressed.
+
+       -v --verbose
+              Verbose mode -- show the compression ratio for each
+              file  processed.   Further  -v's  increase the ver-
+              bosity level, spewing out lots of information which
+              is primarily of interest for diagnostic purposes.
+
+       -L --license -V --version
+              Display  the  software  version,  license terms and
+              conditions.
+
+       -1 (or --fast) to -9 (or --best)
+              Set the block size to 100 k, 200 k ..  900  k  when
+              compressing.   Has  no  effect  when decompressing.
+              See MEMORY MANAGEMENT below.  The --fast and --best
+              aliases  are  primarily for GNU gzip compatibility.
+              In particular, --fast doesn't make things  signifi-
+              cantly  faster.   And  --best  merely  selects  the
+              default behaviour.
+
+       --     Treats all subsequent arguments as file names, even
+              if they start with a dash.  This is so you can han-
+              dle files with names beginning  with  a  dash,  for
+              example: bzip2 -- -myfilename.
+
+       --repetitive-fast --repetitive-best
+              These  flags  are  redundant  in versions 0.9.5 and
+              above.  They provided some coarse control over  the
+              behaviour  of the sorting algorithm in earlier ver-
+              sions, which was sometimes useful.  0.9.5 and above
+              have  an  improved  algorithm  which  renders these
+              flags irrelevant.
+
+
+MEMORY MANAGEMENT
+       bzip2 compresses large files in blocks.   The  block  size
+       affects  both  the  compression  ratio  achieved,  and the
+       amount of memory needed for compression and decompression.
+       The  flags  -1  through  -9  specify  the block size to be
+       100,000 bytes through 900,000 bytes (the default)  respec-
+       tively.   At  decompression  time, the block size used for
+       compression is read from  the  header  of  the  compressed
+       file, and bunzip2 then allocates itself just enough memory
+       to decompress the file.  Since block sizes are  stored  in
+       compressed  files,  it follows that the flags -1 to -9 are
+       irrelevant to and so ignored during decompression.
+
+       Compression and decompression requirements, in bytes,  can
+       be estimated as:
+
+              Compression:   400k + ( 8 x block size )
+
+              Decompression: 100k + ( 4 x block size ), or
+                             100k + ( 2.5 x block size )
+
+       Larger  block  sizes  give  rapidly  diminishing  marginal
+       returns.  Most of the compression comes from the first two
+       or  three hundred k of block size, a fact worth bearing in
+       mind when using bzip2  on  small  machines.   It  is  also
+       important  to  appreciate  that  the  decompression memory
+       requirement is set at compression time by  the  choice  of
+       block size.
+
+       For  files  compressed  with  the default 900k block size,
+       bunzip2 will require about 3700 kbytes to decompress.   To
+       support decompression of any file on a 4 megabyte machine,
+       bunzip2 has an option to  decompress  using  approximately
+       half this amount of memory, about 2300 kbytes.  Decompres-
+       sion speed is also halved, so you should use  this  option
+       only where necessary.  The relevant flag is -s.
+
+       In general, try and use the largest block size memory con-
+       straints  allow,  since  that  maximises  the  compression
+       achieved.   Compression and decompression speed are virtu-
+       ally unaffected by block size.
+
+       Another significant point applies to files which fit in  a
+       single  block  --  that  means  most files you'd encounter
+       using a large block  size.   The  amount  of  real  memory
+       touched is proportional to the size of the file, since the
+       file is smaller than a block.  For example, compressing  a
+       file  20,000  bytes  long  with the flag -9 will cause the
+       compressor to allocate around 7600k of  memory,  but  only
+       touch 400k + 20000 * 8 = 560 kbytes of it.  Similarly, the
+       decompressor will allocate 3700k but  only  touch  100k  +
+       20000 * 4 = 180 kbytes.
+
+       Here  is a table which summarises the maximum memory usage
+       for different block sizes.  Also  recorded  is  the  total
+       compressed  size for 14 files of the Calgary Text Compres-
+       sion Corpus totalling 3,141,622 bytes.  This column  gives
+       some  feel  for  how  compression  varies with block size.
+       These figures tend to understate the advantage  of  larger
+       block  sizes  for  larger files, since the Corpus is domi-
+       nated by smaller files.
+
+                  Compress   Decompress   Decompress   Corpus
+           Flag     usage      usage       -s usage     Size
+
+            -1      1200k       500k         350k      914704
+            -2      2000k       900k         600k      877703
+            -3      2800k      1300k         850k      860338
+            -4      3600k      1700k        1100k      846899
+            -5      4400k      2100k        1350k      845160
+            -6      5200k      2500k        1600k      838626
+            -7      6100k      2900k        1850k      834096
+            -8      6800k      3300k        2100k      828642
+            -9      7600k      3700k        2350k      828642
+
+
+RECOVERING DATA FROM DAMAGED FILES
+       bzip2 compresses files in blocks, usually 900kbytes  long.
+       Each block is handled independently.  If a media or trans-
+       mission error causes a multi-block  .bz2  file  to  become
+       damaged,  it  may  be  possible  to  recover data from the
+       undamaged blocks in the file.
+
+       The compressed representation of each block  is  delimited
+       by  a  48-bit pattern, which makes it possible to find the
+       block boundaries with reasonable  certainty.   Each  block
+       also  carries its own 32-bit CRC, so damaged blocks can be
+       distinguished from undamaged ones.
+
+       bzip2recover is a  simple  program  whose  purpose  is  to
+       search  for blocks in .bz2 files, and write each block out
+       into its own .bz2 file.  You can then use bzip2 -t to test
+       the integrity of the resulting files, and decompress those
+       which are undamaged.
+
+       bzip2recover takes a single argument, the name of the dam-
+       aged    file,    and    writes    a    number   of   files
+       "rec00001file.bz2",  "rec00002file.bz2",  etc,  containing
+       the   extracted   blocks.   The   output   filenames   are
+       designed  so  that the use of wildcards in subsequent pro-
+       cessing  -- for example, "bzip2 -dc  rec*file.bz2 > recov-
+       ered_data" -- processes the files in the correct order.
+
+       bzip2recover should be of most use dealing with large .bz2
+       files,  as  these will contain many blocks.  It is clearly
+       futile to use it on damaged single-block  files,  since  a
+       damaged  block  cannot  be recovered.  If you wish to min-
+       imise any potential data loss through media  or  transmis-
+       sion errors, you might consider compressing with a smaller
+       block size.
+
+
+PERFORMANCE NOTES
+       The sorting phase of compression gathers together  similar
+       strings  in  the  file.  Because of this, files containing
+       very long runs of  repeated  symbols,  like  "aabaabaabaab
+       ..."   (repeated  several hundred times) may compress more
+       slowly than normal.  Versions 0.9.5 and  above  fare  much
+       better  than previous versions in this respect.  The ratio
+       between worst-case and average-case compression time is in
+       the  region  of  10:1.  For previous versions, this figure
+       was more like 100:1.  You can use the -vvvv option to mon-
+       itor progress in great detail, if you want.
+
+       Decompression speed is unaffected by these phenomena.
+
+       bzip2  usually  allocates  several  megabytes of memory to
+       operate in, and then charges all over it in a fairly  ran-
+       dom  fashion.   This means that performance, both for com-
+       pressing and decompressing, is largely determined  by  the
+       speed  at  which  your  machine  can service cache misses.
+       Because of this, small changes to the code to  reduce  the
+       miss  rate  have  been observed to give disproportionately
+       large performance improvements.  I imagine bzip2 will per-
+       form best on machines with very large caches.
+
+
+CAVEATS
+       I/O  error  messages  are not as helpful as they could be.
+       bzip2 tries hard to detect I/O errors  and  exit  cleanly,
+       but  the  details  of  what  the problem is sometimes seem
+       rather misleading.
+
+       This manual page pertains to version 1.0.3 of bzip2.  Com-
+       pressed  data created by this version is entirely forwards
+       and  backwards  compatible  with   the   previous   public
+       releases,  versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and
+       1.0.2, but with the following exception: 0.9.0  and  above
+       can  correctly decompress multiple concatenated compressed
+       files.  0.1pl2 cannot do this; it will stop  after  decom-
+       pressing just the first file in the stream.
+
+       bzip2recover  versions prior to 1.0.2 used 32-bit integers
+       to represent bit positions in compressed  files,  so  they
+       could  not handle compressed files more than 512 megabytes
+       long.  Versions 1.0.2 and above use 64-bit  ints  on  some
+       platforms  which  support them (GNU supported targets, and
+       Windows).  To establish whether or  not  bzip2recover  was
+       built  with  such  a limitation, run it without arguments.
+       In any event you can build yourself an  unlimited  version
+       if  you  can  recompile  it  with MaybeUInt64 set to be an
+       unsigned 64-bit integer.
+
+
+AUTHOR
+       Julian Seward, jsewardbzip.org.
+
+       http://www.bzip.org
+
+       The ideas embodied in bzip2 are due to (at least) the fol-
+       lowing  people: Michael Burrows and David Wheeler (for the
+       block sorting transformation), David Wheeler  (again,  for
+       the Huffman coder), Peter Fenwick (for the structured cod-
+       ing model in the original bzip, and many refinements), and
+       Alistair  Moffat,  Radford  Neal  and  Ian Witten (for the
+       arithmetic  coder  in  the  original  bzip).   I  am  much
+       indebted for their help, support and advice.  See the man-
+       ual in the source distribution for pointers to sources  of
+       documentation.  Christian von Roques encouraged me to look
+       for faster sorting algorithms, so as to speed up  compres-
+       sion.  Bela Lubkin encouraged me to improve the worst-case
+       compression performance.  Donna Robinson XMLised the docu-
+       mentation.   The bz* scripts are derived from those of GNU
+       gzip.  Many people sent patches, helped  with  portability
+       problems,  lent  machines,  gave advice and were generally
+       helpful.
+
diff --git a/commands/bzip2-1.0.3/bzip2recover.c b/commands/bzip2-1.0.3/bzip2recover.c
new file mode 100644 (file)
index 0000000..5cd405d
--- /dev/null
@@ -0,0 +1,546 @@
+
+/*-----------------------------------------------------------*/
+/*--- Block recoverer program for bzip2                   ---*/
+/*---                                      bzip2recover.c ---*/
+/*-----------------------------------------------------------*/
+
+/*--
+  This program is bzip2recover, a program to attempt data 
+  salvage from damaged files created by the accompanying
+  bzip2-1.0.3 program.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0.3 of 15 February 2005
+--*/
+
+/*--
+  This program is a complete hack and should be rewritten
+  properly.  It isn't very complicated.
+--*/
+
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+/* This program records bit locations in the file to be recovered.
+   That means that if 64-bit ints are not supported, we will not
+   be able to recover .bz2 files over 512MB (2^32 bits) long.
+   On GNU supported platforms, we take advantage of the 64-bit
+   int support to circumvent this problem.  Ditto MSVC.
+
+   This change occurred in version 1.0.2; all prior versions have
+   the 512MB limitation.
+*/
+#ifdef __GNUC__
+   typedef  unsigned long long int  MaybeUInt64;
+#  define MaybeUInt64_FMT "%Lu"
+#else
+#ifdef _MSC_VER
+   typedef  unsigned __int64  MaybeUInt64;
+#  define MaybeUInt64_FMT "%I64u"
+#else
+   typedef  unsigned int   MaybeUInt64;
+#  define MaybeUInt64_FMT "%u"
+#endif
+#endif
+
+typedef  unsigned int   UInt32;
+typedef  int            Int32;
+typedef  unsigned char  UChar;
+typedef  char           Char;
+typedef  unsigned char  Bool;
+#define True    ((Bool)1)
+#define False   ((Bool)0)
+
+
+#define BZ_MAX_FILENAME 2000
+
+Char inFileName[BZ_MAX_FILENAME];
+Char outFileName[BZ_MAX_FILENAME];
+Char progName[BZ_MAX_FILENAME];
+
+MaybeUInt64 bytesOut = 0;
+MaybeUInt64 bytesIn  = 0;
+
+
+/*---------------------------------------------------*/
+/*--- Header bytes                                ---*/
+/*---------------------------------------------------*/
+
+#define BZ_HDR_B 0x42                         /* 'B' */
+#define BZ_HDR_Z 0x5a                         /* 'Z' */
+#define BZ_HDR_h 0x68                         /* 'h' */
+#define BZ_HDR_0 0x30                         /* '0' */
+
+/*---------------------------------------------------*/
+/*--- I/O errors                                  ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------*/
+void readError ( void )
+{
+   fprintf ( stderr,
+             "%s: I/O error reading `%s', possible reason follows.\n",
+            progName, inFileName );
+   perror ( progName );
+   fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+/*---------------------------------------------*/
+void writeError ( void )
+{
+   fprintf ( stderr,
+             "%s: I/O error reading `%s', possible reason follows.\n",
+            progName, inFileName );
+   perror ( progName );
+   fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+/*---------------------------------------------*/
+void mallocFail ( Int32 n )
+{
+   fprintf ( stderr,
+             "%s: malloc failed on request for %d bytes.\n",
+            progName, n );
+   fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+/*---------------------------------------------*/
+void tooManyBlocks ( Int32 max_handled_blocks )
+{
+   fprintf ( stderr,
+             "%s: `%s' appears to contain more than %d blocks\n",
+            progName, inFileName, max_handled_blocks );
+   fprintf ( stderr,
+             "%s: and cannot be handled.  To fix, increase\n",
+             progName );
+   fprintf ( stderr, 
+             "%s: BZ_MAX_HANDLED_BLOCKS in bzip2recover.c, and recompile.\n",
+             progName );
+   exit ( 1 );
+}
+
+
+
+/*---------------------------------------------------*/
+/*--- Bit stream I/O                              ---*/
+/*---------------------------------------------------*/
+
+typedef
+   struct {
+      FILE*  handle;
+      Int32  buffer;
+      Int32  buffLive;
+      Char   mode;
+   }
+   BitStream;
+
+
+/*---------------------------------------------*/
+BitStream* bsOpenReadStream ( FILE* stream )
+{
+   BitStream *bs = malloc ( sizeof(BitStream) );
+   if (bs == NULL) mallocFail ( sizeof(BitStream) );
+   bs->handle = stream;
+   bs->buffer = 0;
+   bs->buffLive = 0;
+   bs->mode = 'r';
+   return bs;
+}
+
+
+/*---------------------------------------------*/
+BitStream* bsOpenWriteStream ( FILE* stream )
+{
+   BitStream *bs = malloc ( sizeof(BitStream) );
+   if (bs == NULL) mallocFail ( sizeof(BitStream) );
+   bs->handle = stream;
+   bs->buffer = 0;
+   bs->buffLive = 0;
+   bs->mode = 'w';
+   return bs;
+}
+
+
+/*---------------------------------------------*/
+void bsPutBit ( BitStream* bs, Int32 bit )
+{
+   if (bs->buffLive == 8) {
+      Int32 retVal = putc ( (UChar) bs->buffer, bs->handle );
+      if (retVal == EOF) writeError();
+      bytesOut++;
+      bs->buffLive = 1;
+      bs->buffer = bit & 0x1;
+   } else {
+      bs->buffer = ( (bs->buffer << 1) | (bit & 0x1) );
+      bs->buffLive++;
+   };
+}
+
+
+/*---------------------------------------------*/
+/*--
+   Returns 0 or 1, or 2 to indicate EOF.
+--*/
+Int32 bsGetBit ( BitStream* bs )
+{
+   if (bs->buffLive > 0) {
+      bs->buffLive --;
+      return ( ((bs->buffer) >> (bs->buffLive)) & 0x1 );
+   } else {
+      Int32 retVal = getc ( bs->handle );
+      if ( retVal == EOF ) {
+         if (errno != 0) readError();
+         return 2;
+      }
+      bs->buffLive = 7;
+      bs->buffer = retVal;
+      return ( ((bs->buffer) >> 7) & 0x1 );
+   }
+}
+
+
+/*---------------------------------------------*/
+void bsClose ( BitStream* bs )
+{
+   Int32 retVal;
+
+   if ( bs->mode == 'w' ) {
+      while ( bs->buffLive < 8 ) {
+         bs->buffLive++;
+         bs->buffer <<= 1;
+      };
+      retVal = putc ( (UChar) (bs->buffer), bs->handle );
+      if (retVal == EOF) writeError();
+      bytesOut++;
+      retVal = fflush ( bs->handle );
+      if (retVal == EOF) writeError();
+   }
+   retVal = fclose ( bs->handle );
+   if (retVal == EOF) {
+      if (bs->mode == 'w') writeError(); else readError();
+   }
+   free ( bs );
+}
+
+
+/*---------------------------------------------*/
+void bsPutUChar ( BitStream* bs, UChar c )
+{
+   Int32 i;
+   for (i = 7; i >= 0; i--)
+      bsPutBit ( bs, (((UInt32) c) >> i) & 0x1 );
+}
+
+
+/*---------------------------------------------*/
+void bsPutUInt32 ( BitStream* bs, UInt32 c )
+{
+   Int32 i;
+
+   for (i = 31; i >= 0; i--)
+      bsPutBit ( bs, (c >> i) & 0x1 );
+}
+
+
+/*---------------------------------------------*/
+Bool endsInBz2 ( Char* name )
+{
+   Int32 n = strlen ( name );
+   if (n <= 4) return False;
+   return
+      (name[n-4] == '.' &&
+       name[n-3] == 'b' &&
+       name[n-2] == 'z' &&
+       name[n-1] == '2');
+}
+
+
+/*---------------------------------------------------*/
+/*---                                             ---*/
+/*---------------------------------------------------*/
+
+/* This logic isn't really right when it comes to Cygwin. */
+#ifdef _WIN32
+#  define  BZ_SPLIT_SYM  '\\'  /* path splitter on Windows platform */
+#else
+#  define  BZ_SPLIT_SYM  '/'   /* path splitter on Unix platform */
+#endif
+
+#define BLOCK_HEADER_HI  0x00003141UL
+#define BLOCK_HEADER_LO  0x59265359UL
+
+#define BLOCK_ENDMARK_HI 0x00001772UL
+#define BLOCK_ENDMARK_LO 0x45385090UL
+
+/* Increase if necessary.  However, a .bz2 file with > 50000 blocks
+   would have an uncompressed size of at least 40GB, so the chances
+   are low you'll need to up this.
+*/
+#define BZ_MAX_HANDLED_BLOCKS 50000
+
+MaybeUInt64 bStart [BZ_MAX_HANDLED_BLOCKS];
+MaybeUInt64 bEnd   [BZ_MAX_HANDLED_BLOCKS];
+MaybeUInt64 rbStart[BZ_MAX_HANDLED_BLOCKS];
+MaybeUInt64 rbEnd  [BZ_MAX_HANDLED_BLOCKS];
+
+Int32 main ( Int32 argc, Char** argv )
+{
+   FILE*       inFile;
+   FILE*       outFile;
+   BitStream*  bsIn, *bsWr;
+   Int32       b, wrBlock, currBlock, rbCtr;
+   MaybeUInt64 bitsRead;
+
+   UInt32      buffHi, buffLo, blockCRC;
+   Char*       p;
+
+   strcpy ( progName, argv[0] );
+   inFileName[0] = outFileName[0] = 0;
+
+   fprintf ( stderr, 
+             "bzip2recover 1.0.3: extracts blocks from damaged .bz2 files.\n" );
+
+   if (argc != 2) {
+      fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",
+                        progName, progName );
+      switch (sizeof(MaybeUInt64)) {
+         case 8:
+            fprintf(stderr, 
+                    "\trestrictions on size of recovered file: None\n");
+            break;
+         case 4:
+            fprintf(stderr, 
+                    "\trestrictions on size of recovered file: 512 MB\n");
+            fprintf(stderr, 
+                    "\tto circumvent, recompile with MaybeUInt64 as an\n"
+                    "\tunsigned 64-bit int.\n");
+            break;
+         default:
+            fprintf(stderr, 
+                    "\tsizeof(MaybeUInt64) is not 4 or 8 -- "
+                    "configuration error.\n");
+            break;
+      }
+      exit(1);
+   }
+
+   if (strlen(argv[1]) >= BZ_MAX_FILENAME-20) {
+      fprintf ( stderr, 
+                "%s: supplied filename is suspiciously (>= %d chars) long.  Bye!\n",
+                progName, (int)strlen(argv[1]) );
+      exit(1);
+   }
+
+   strcpy ( inFileName, argv[1] );
+
+   inFile = fopen ( inFileName, "rb" );
+   if (inFile == NULL) {
+      fprintf ( stderr, "%s: can't read `%s'\n", progName, inFileName );
+      exit(1);
+   }
+
+   bsIn = bsOpenReadStream ( inFile );
+   fprintf ( stderr, "%s: searching for block boundaries ...\n", progName );
+
+   bitsRead = 0;
+   buffHi = buffLo = 0;
+   currBlock = 0;
+   bStart[currBlock] = 0;
+
+   rbCtr = 0;
+
+   while (True) {
+      b = bsGetBit ( bsIn );
+      bitsRead++;
+      if (b == 2) {
+         if (bitsRead >= bStart[currBlock] &&
+            (bitsRead - bStart[currBlock]) >= 40) {
+            bEnd[currBlock] = bitsRead-1;
+            if (currBlock > 0)
+               fprintf ( stderr, "   block %d runs from " MaybeUInt64_FMT 
+                                 " to " MaybeUInt64_FMT " (incomplete)\n",
+                         currBlock,  bStart[currBlock], bEnd[currBlock] );
+         } else
+            currBlock--;
+         break;
+      }
+      buffHi = (buffHi << 1) | (buffLo >> 31);
+      buffLo = (buffLo << 1) | (b & 1);
+      if ( ( (buffHi & 0x0000ffff) == BLOCK_HEADER_HI 
+             && buffLo == BLOCK_HEADER_LO)
+           || 
+           ( (buffHi & 0x0000ffff) == BLOCK_ENDMARK_HI 
+             && buffLo == BLOCK_ENDMARK_LO)
+         ) {
+         if (bitsRead > 49) {
+            bEnd[currBlock] = bitsRead-49;
+         } else {
+            bEnd[currBlock] = 0;
+         }
+         if (currBlock > 0 &&
+            (bEnd[currBlock] - bStart[currBlock]) >= 130) {
+            fprintf ( stderr, "   block %d runs from " MaybeUInt64_FMT 
+                              " to " MaybeUInt64_FMT "\n",
+                      rbCtr+1,  bStart[currBlock], bEnd[currBlock] );
+            rbStart[rbCtr] = bStart[currBlock];
+            rbEnd[rbCtr] = bEnd[currBlock];
+            rbCtr++;
+         }
+         if (currBlock >= BZ_MAX_HANDLED_BLOCKS)
+            tooManyBlocks(BZ_MAX_HANDLED_BLOCKS);
+         currBlock++;
+
+         bStart[currBlock] = bitsRead;
+      }
+   }
+
+   bsClose ( bsIn );
+
+   /*-- identified blocks run from 1 to rbCtr inclusive. --*/
+
+   if (rbCtr < 1) {
+      fprintf ( stderr,
+                "%s: sorry, I couldn't find any block boundaries.\n",
+                progName );
+      exit(1);
+   };
+
+   fprintf ( stderr, "%s: splitting into blocks\n", progName );
+
+   inFile = fopen ( inFileName, "rb" );
+   if (inFile == NULL) {
+      fprintf ( stderr, "%s: can't open `%s'\n", progName, inFileName );
+      exit(1);
+   }
+   bsIn = bsOpenReadStream ( inFile );
+
+   /*-- placate gcc's dataflow analyser --*/
+   blockCRC = 0; bsWr = 0;
+
+   bitsRead = 0;
+   outFile = NULL;
+   wrBlock = 0;
+   while (True) {
+      b = bsGetBit(bsIn);
+      if (b == 2) break;
+      buffHi = (buffHi << 1) | (buffLo >> 31);
+      buffLo = (buffLo << 1) | (b & 1);
+      if (bitsRead == 47+rbStart[wrBlock]) 
+         blockCRC = (buffHi << 16) | (buffLo >> 16);
+
+      if (outFile != NULL && bitsRead >= rbStart[wrBlock]
+                          && bitsRead <= rbEnd[wrBlock]) {
+         bsPutBit ( bsWr, b );
+      }
+
+      bitsRead++;
+
+      if (bitsRead == rbEnd[wrBlock]+1) {
+         if (outFile != NULL) {
+            bsPutUChar ( bsWr, 0x17 ); bsPutUChar ( bsWr, 0x72 );
+            bsPutUChar ( bsWr, 0x45 ); bsPutUChar ( bsWr, 0x38 );
+            bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
+            bsPutUInt32 ( bsWr, blockCRC );
+            bsClose ( bsWr );
+         }
+         if (wrBlock >= rbCtr) break;
+         wrBlock++;
+      } else
+      if (bitsRead == rbStart[wrBlock]) {
+         /* Create the output file name, correctly handling leading paths. 
+            (31.10.2001 by Sergey E. Kusikov) */
+         Char* split;
+         Int32 ofs, k;
+         for (k = 0; k < BZ_MAX_FILENAME; k++) 
+            outFileName[k] = 0;
+         strcpy (outFileName, inFileName);
+         split = strrchr (outFileName, BZ_SPLIT_SYM);
+         if (split == NULL) {
+            split = outFileName;
+         } else {
+            ++split;
+        }
+        /* Now split points to the start of the basename. */
+         ofs  = split - outFileName;
+         sprintf (split, "rec%5d", wrBlock+1);
+         for (p = split; *p != 0; p++) if (*p == ' ') *p = '0';
+         strcat (outFileName, inFileName + ofs);
+
+         if ( !endsInBz2(outFileName)) strcat ( outFileName, ".bz2" );
+
+         fprintf ( stderr, "   writing block %d to `%s' ...\n",
+                           wrBlock+1, outFileName );
+
+         outFile = fopen ( outFileName, "wb" );
+         if (outFile == NULL) {
+            fprintf ( stderr, "%s: can't write `%s'\n",
+                      progName, outFileName );
+            exit(1);
+         }
+         bsWr = bsOpenWriteStream ( outFile );
+         bsPutUChar ( bsWr, BZ_HDR_B );    
+         bsPutUChar ( bsWr, BZ_HDR_Z );    
+         bsPutUChar ( bsWr, BZ_HDR_h );    
+         bsPutUChar ( bsWr, BZ_HDR_0 + 9 );
+         bsPutUChar ( bsWr, 0x31 ); bsPutUChar ( bsWr, 0x41 );
+         bsPutUChar ( bsWr, 0x59 ); bsPutUChar ( bsWr, 0x26 );
+         bsPutUChar ( bsWr, 0x53 ); bsPutUChar ( bsWr, 0x59 );
+      }
+   }
+
+   fprintf ( stderr, "%s: finished\n", progName );
+   return 0;
+}
+
+
+
+/*-----------------------------------------------------------*/
+/*--- end                                  bzip2recover.c ---*/
+/*-----------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/bzlib.c b/commands/bzip2-1.0.3/bzlib.c
new file mode 100644 (file)
index 0000000..e9c1e87
--- /dev/null
@@ -0,0 +1,1616 @@
+
+/*-------------------------------------------------------------*/
+/*--- Library top-level functions.                          ---*/
+/*---                                               bzlib.c ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+/*--
+   CHANGES
+   ~~~~~~~
+   0.9.0 -- original version.
+
+   0.9.0a/b -- no changes in this file.
+
+   0.9.0c
+      * made zero-length BZ_FLUSH work correctly in bzCompress().
+      * fixed bzWrite/bzRead to ignore zero-length requests.
+      * fixed bzread to correctly handle read requests after EOF.
+      * wrong parameter order in call to bzDecompressInit in
+        bzBuffToBuffDecompress.  Fixed.
+--*/
+
+#include "bzlib_private.h"
+
+
+/*---------------------------------------------------*/
+/*--- Compression stuff                           ---*/
+/*---------------------------------------------------*/
+
+
+/*---------------------------------------------------*/
+#ifndef BZ_NO_STDIO
+void BZ2_bz__AssertH__fail ( int errcode )
+{
+   fprintf(stderr, 
+      "\n\nbzip2/libbzip2: internal error number %d.\n"
+      "This is a bug in bzip2/libbzip2, %s.\n"
+      "Please report it to me at: jseward@bzip.org.  If this happened\n"
+      "when you were using some program which uses libbzip2 as a\n"
+      "component, you should also report this bug to the author(s)\n"
+      "of that program.  Please make an effort to report this bug;\n"
+      "timely and accurate bug reports eventually lead to higher\n"
+      "quality software.  Thanks.  Julian Seward, 15 February 2005.\n\n",
+      errcode,
+      BZ2_bzlibVersion()
+   );
+
+   if (errcode == 1007) {
+   fprintf(stderr,
+      "\n*** A special note about internal error number 1007 ***\n"
+      "\n"
+      "Experience suggests that a common cause of i.e. 1007\n"
+      "is unreliable memory or other hardware.  The 1007 assertion\n"
+      "just happens to cross-check the results of huge numbers of\n"
+      "memory reads/writes, and so acts (unintendedly) as a stress\n"
+      "test of your memory system.\n"
+      "\n"
+      "I suggest the following: try compressing the file again,\n"
+      "possibly monitoring progress in detail with the -vv flag.\n"
+      "\n"
+      "* If the error cannot be reproduced, and/or happens at different\n"
+      "  points in compression, you may have a flaky memory system.\n"
+      "  Try a memory-test program.  I have used Memtest86\n"
+      "  (www.memtest86.com).  At the time of writing it is free (GPLd).\n"
+      "  Memtest86 tests memory much more thorougly than your BIOSs\n"
+      "  power-on test, and may find failures that the BIOS doesn't.\n"
+      "\n"
+      "* If the error can be repeatably reproduced, this is a bug in\n"
+      "  bzip2, and I would very much like to hear about it.  Please\n"
+      "  let me know, and, ideally, save a copy of the file causing the\n"
+      "  problem -- without which I will be unable to investigate it.\n"
+      "\n"
+   );
+   }
+
+   exit(3);
+}
+#endif
+
+
+/*---------------------------------------------------*/
+static
+int bz_config_ok ( void )
+{
+   if (sizeof(int)   != 4) return 0;
+   if (sizeof(short) != 2) return 0;
+   if (sizeof(char)  != 1) return 0;
+   return 1;
+}
+
+
+/*---------------------------------------------------*/
+static
+void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
+{
+   void* v = malloc ( items * size );
+   return v;
+}
+
+static
+void default_bzfree ( void* opaque, void* addr )
+{
+   if (addr != NULL) free ( addr );
+}
+
+
+/*---------------------------------------------------*/
+static
+void prepare_new_block ( EState* s )
+{
+   Int32 i;
+   s->nblock = 0;
+   s->numZ = 0;
+   s->state_out_pos = 0;
+   BZ_INITIALISE_CRC ( s->blockCRC );
+   for (i = 0; i < 256; i++) s->inUse[i] = False;
+   s->blockNo++;
+}
+
+
+/*---------------------------------------------------*/
+static
+void init_RL ( EState* s )
+{
+   s->state_in_ch  = 256;
+   s->state_in_len = 0;
+}
+
+
+static
+Bool isempty_RL ( EState* s )
+{
+   if (s->state_in_ch < 256 && s->state_in_len > 0)
+      return False; else
+      return True;
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzCompressInit) 
+                    ( bz_stream* strm, 
+                     int        blockSize100k,
+                     int        verbosity,
+                     int        workFactor )
+{
+   Int32   n;
+   EState* s;
+
+   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
+
+   if (strm == NULL || 
+       blockSize100k < 1 || blockSize100k > 9 ||
+       workFactor < 0 || workFactor > 250)
+     return BZ_PARAM_ERROR;
+
+   if (workFactor == 0) workFactor = 30;
+   if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
+   if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
+
+   s = BZALLOC( sizeof(EState) );
+   if (s == NULL) return BZ_MEM_ERROR;
+   s->strm = strm;
+
+   s->arr1 = NULL;
+   s->arr2 = NULL;
+   s->ftab = NULL;
+
+   n       = 100000 * blockSize100k;
+   s->arr1 = BZALLOC( n                  * sizeof(UInt32) );
+   s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
+   s->ftab = BZALLOC( 65537              * sizeof(UInt32) );
+
+   if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
+      if (s->arr1 != NULL) BZFREE(s->arr1);
+      if (s->arr2 != NULL) BZFREE(s->arr2);
+      if (s->ftab != NULL) BZFREE(s->ftab);
+      if (s       != NULL) BZFREE(s);
+      return BZ_MEM_ERROR;
+   }
+
+   s->blockNo           = 0;
+   s->state             = BZ_S_INPUT;
+   s->mode              = BZ_M_RUNNING;
+   s->combinedCRC       = 0;
+   s->blockSize100k     = blockSize100k;
+   s->nblockMAX         = 100000 * blockSize100k - 19;
+   s->verbosity         = verbosity;
+   s->workFactor        = workFactor;
+
+   s->block             = (UChar*)s->arr2;
+   s->mtfv              = (UInt16*)s->arr1;
+   s->zbits             = NULL;
+   s->ptr               = (UInt32*)s->arr1;
+
+   strm->state          = s;
+   strm->total_in_lo32  = 0;
+   strm->total_in_hi32  = 0;
+   strm->total_out_lo32 = 0;
+   strm->total_out_hi32 = 0;
+   init_RL ( s );
+   prepare_new_block ( s );
+   return BZ_OK;
+}
+
+
+/*---------------------------------------------------*/
+static
+void add_pair_to_block ( EState* s )
+{
+   Int32 i;
+   UChar ch = (UChar)(s->state_in_ch);
+   for (i = 0; i < s->state_in_len; i++) {
+      BZ_UPDATE_CRC( s->blockCRC, ch );
+   }
+   s->inUse[s->state_in_ch] = True;
+   switch (s->state_in_len) {
+      case 1:
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         break;
+      case 2:
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         break;
+      case 3:
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         break;
+      default:
+         s->inUse[s->state_in_len-4] = True;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = (UChar)ch; s->nblock++;
+         s->block[s->nblock] = ((UChar)(s->state_in_len-4));
+         s->nblock++;
+         break;
+   }
+}
+
+
+/*---------------------------------------------------*/
+static
+void flush_RL ( EState* s )
+{
+   if (s->state_in_ch < 256) add_pair_to_block ( s );
+   init_RL ( s );
+}
+
+
+/*---------------------------------------------------*/
+#define ADD_CHAR_TO_BLOCK(zs,zchh0)               \
+{                                                 \
+   UInt32 zchh = (UInt32)(zchh0);                 \
+   /*-- fast track the common case --*/           \
+   if (zchh != zs->state_in_ch &&                 \
+       zs->state_in_len == 1) {                   \
+      UChar ch = (UChar)(zs->state_in_ch);        \
+      BZ_UPDATE_CRC( zs->blockCRC, ch );          \
+      zs->inUse[zs->state_in_ch] = True;          \
+      zs->block[zs->nblock] = (UChar)ch;          \
+      zs->nblock++;                               \
+      zs->state_in_ch = zchh;                     \
+   }                                              \
+   else                                           \
+   /*-- general, uncommon cases --*/              \
+   if (zchh != zs->state_in_ch ||                 \
+      zs->state_in_len == 255) {                  \
+      if (zs->state_in_ch < 256)                  \
+         add_pair_to_block ( zs );                \
+      zs->state_in_ch = zchh;                     \
+      zs->state_in_len = 1;                       \
+   } else {                                       \
+      zs->state_in_len++;                         \
+   }                                              \
+}
+
+
+/*---------------------------------------------------*/
+static
+Bool copy_input_until_stop ( EState* s )
+{
+   Bool progress_in = False;
+
+   if (s->mode == BZ_M_RUNNING) {
+
+      /*-- fast track the common case --*/
+      while (True) {
+         /*-- block full? --*/
+         if (s->nblock >= s->nblockMAX) break;
+         /*-- no input? --*/
+         if (s->strm->avail_in == 0) break;
+         progress_in = True;
+         ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); 
+         s->strm->next_in++;
+         s->strm->avail_in--;
+         s->strm->total_in_lo32++;
+         if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
+      }
+
+   } else {
+
+      /*-- general, uncommon case --*/
+      while (True) {
+         /*-- block full? --*/
+         if (s->nblock >= s->nblockMAX) break;
+         /*-- no input? --*/
+         if (s->strm->avail_in == 0) break;
+         /*-- flush/finish end? --*/
+         if (s->avail_in_expect == 0) break;
+         progress_in = True;
+         ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); 
+         s->strm->next_in++;
+         s->strm->avail_in--;
+         s->strm->total_in_lo32++;
+         if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
+         s->avail_in_expect--;
+      }
+   }
+   return progress_in;
+}
+
+
+/*---------------------------------------------------*/
+static
+Bool copy_output_until_stop ( EState* s )
+{
+   Bool progress_out = False;
+
+   while (True) {
+
+      /*-- no output space? --*/
+      if (s->strm->avail_out == 0) break;
+
+      /*-- block done? --*/
+      if (s->state_out_pos >= s->numZ) break;
+
+      progress_out = True;
+      *(s->strm->next_out) = s->zbits[s->state_out_pos];
+      s->state_out_pos++;
+      s->strm->avail_out--;
+      s->strm->next_out++;
+      s->strm->total_out_lo32++;
+      if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+   }
+
+   return progress_out;
+}
+
+
+/*---------------------------------------------------*/
+static
+Bool handle_compress ( bz_stream* strm )
+{
+   Bool progress_in  = False;
+   Bool progress_out = False;
+   EState* s = strm->state;
+   
+   while (True) {
+
+      if (s->state == BZ_S_OUTPUT) {
+         progress_out |= copy_output_until_stop ( s );
+         if (s->state_out_pos < s->numZ) break;
+         if (s->mode == BZ_M_FINISHING && 
+             s->avail_in_expect == 0 &&
+             isempty_RL(s)) break;
+         prepare_new_block ( s );
+         s->state = BZ_S_INPUT;
+         if (s->mode == BZ_M_FLUSHING && 
+             s->avail_in_expect == 0 &&
+             isempty_RL(s)) break;
+      }
+
+      if (s->state == BZ_S_INPUT) {
+         progress_in |= copy_input_until_stop ( s );
+         if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {
+            flush_RL ( s );
+            BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );
+            s->state = BZ_S_OUTPUT;
+         }
+         else
+         if (s->nblock >= s->nblockMAX) {
+            BZ2_compressBlock ( s, False );
+            s->state = BZ_S_OUTPUT;
+         }
+         else
+         if (s->strm->avail_in == 0) {
+            break;
+         }
+      }
+
+   }
+
+   return progress_in || progress_out;
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
+{
+   Bool progress;
+   EState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   preswitch:
+   switch (s->mode) {
+
+      case BZ_M_IDLE:
+         return BZ_SEQUENCE_ERROR;
+
+      case BZ_M_RUNNING:
+         if (action == BZ_RUN) {
+            progress = handle_compress ( strm );
+            return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;
+         } 
+         else
+        if (action == BZ_FLUSH) {
+            s->avail_in_expect = strm->avail_in;
+            s->mode = BZ_M_FLUSHING;
+            goto preswitch;
+         }
+         else
+         if (action == BZ_FINISH) {
+            s->avail_in_expect = strm->avail_in;
+            s->mode = BZ_M_FINISHING;
+            goto preswitch;
+         }
+         else 
+            return BZ_PARAM_ERROR;
+
+      case BZ_M_FLUSHING:
+         if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR;
+         if (s->avail_in_expect != s->strm->avail_in) 
+            return BZ_SEQUENCE_ERROR;
+         progress = handle_compress ( strm );
+         if (s->avail_in_expect > 0 || !isempty_RL(s) ||
+             s->state_out_pos < s->numZ) return BZ_FLUSH_OK;
+         s->mode = BZ_M_RUNNING;
+         return BZ_RUN_OK;
+
+      case BZ_M_FINISHING:
+         if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR;
+         if (s->avail_in_expect != s->strm->avail_in) 
+            return BZ_SEQUENCE_ERROR;
+         progress = handle_compress ( strm );
+         if (!progress) return BZ_SEQUENCE_ERROR;
+         if (s->avail_in_expect > 0 || !isempty_RL(s) ||
+             s->state_out_pos < s->numZ) return BZ_FINISH_OK;
+         s->mode = BZ_M_IDLE;
+         return BZ_STREAM_END;
+   }
+   return BZ_OK; /*--not reached--*/
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzCompressEnd)  ( bz_stream *strm )
+{
+   EState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   if (s->arr1 != NULL) BZFREE(s->arr1);
+   if (s->arr2 != NULL) BZFREE(s->arr2);
+   if (s->ftab != NULL) BZFREE(s->ftab);
+   BZFREE(strm->state);
+
+   strm->state = NULL;   
+
+   return BZ_OK;
+}
+
+
+/*---------------------------------------------------*/
+/*--- Decompression stuff                         ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzDecompressInit) 
+                     ( bz_stream* strm, 
+                       int        verbosity,
+                       int        small )
+{
+   DState* s;
+
+   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
+
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   if (small != 0 && small != 1) return BZ_PARAM_ERROR;
+   if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR;
+
+   if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
+   if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
+
+   s = BZALLOC( sizeof(DState) );
+   if (s == NULL) return BZ_MEM_ERROR;
+   s->strm                  = strm;
+   strm->state              = s;
+   s->state                 = BZ_X_MAGIC_1;
+   s->bsLive                = 0;
+   s->bsBuff                = 0;
+   s->calculatedCombinedCRC = 0;
+   strm->total_in_lo32      = 0;
+   strm->total_in_hi32      = 0;
+   strm->total_out_lo32     = 0;
+   strm->total_out_hi32     = 0;
+   s->smallDecompress       = (Bool)small;
+   s->ll4                   = NULL;
+   s->ll16                  = NULL;
+   s->tt                    = NULL;
+   s->currBlockNo           = 0;
+   s->verbosity             = verbosity;
+
+   return BZ_OK;
+}
+
+
+/*---------------------------------------------------*/
+/* Return  True iff data corruption is discovered.
+   Returns False if there is no problem.
+*/
+static
+Bool unRLE_obuf_to_output_FAST ( DState* s )
+{
+   UChar k1;
+
+   if (s->blockRandomised) {
+
+      while (True) {
+         /* try to finish existing run */
+         while (True) {
+            if (s->strm->avail_out == 0) return False;
+            if (s->state_out_len == 0) break;
+            *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
+            BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
+            s->state_out_len--;
+            s->strm->next_out++;
+            s->strm->avail_out--;
+            s->strm->total_out_lo32++;
+            if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+         }
+
+         /* can a new run be started? */
+         if (s->nblock_used == s->save_nblock+1) return False;
+               
+         /* Only caused by corrupt data stream? */
+         if (s->nblock_used > s->save_nblock+1)
+            return True;
+   
+         s->state_out_len = 1;
+         s->state_out_ch = s->k0;
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 2;
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 3;
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         s->state_out_len = ((Int32)k1) + 4;
+         BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK; 
+         s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
+      }
+
+   } else {
+
+      /* restore */
+      UInt32        c_calculatedBlockCRC = s->calculatedBlockCRC;
+      UChar         c_state_out_ch       = s->state_out_ch;
+      Int32         c_state_out_len      = s->state_out_len;
+      Int32         c_nblock_used        = s->nblock_used;
+      Int32         c_k0                 = s->k0;
+      UInt32*       c_tt                 = s->tt;
+      UInt32        c_tPos               = s->tPos;
+      char*         cs_next_out          = s->strm->next_out;
+      unsigned int  cs_avail_out         = s->strm->avail_out;
+      /* end restore */
+
+      UInt32       avail_out_INIT = cs_avail_out;
+      Int32        s_save_nblockPP = s->save_nblock+1;
+      unsigned int total_out_lo32_old;
+
+      while (True) {
+
+         /* try to finish existing run */
+         if (c_state_out_len > 0) {
+            while (True) {
+               if (cs_avail_out == 0) goto return_notr;
+               if (c_state_out_len == 1) break;
+               *( (UChar*)(cs_next_out) ) = c_state_out_ch;
+               BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
+               c_state_out_len--;
+               cs_next_out++;
+               cs_avail_out--;
+            }
+            s_state_out_len_eq_one:
+            {
+               if (cs_avail_out == 0) { 
+                  c_state_out_len = 1; goto return_notr;
+               };
+               *( (UChar*)(cs_next_out) ) = c_state_out_ch;
+               BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
+               cs_next_out++;
+               cs_avail_out--;
+            }
+         }   
+         /* Only caused by corrupt data stream? */
+         if (c_nblock_used > s_save_nblockPP)
+            return True;
+
+         /* can a new run be started? */
+         if (c_nblock_used == s_save_nblockPP) {
+            c_state_out_len = 0; goto return_notr;
+         };   
+         c_state_out_ch = c_k0;
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         if (k1 != c_k0) { 
+            c_k0 = k1; goto s_state_out_len_eq_one; 
+         };
+         if (c_nblock_used == s_save_nblockPP) 
+            goto s_state_out_len_eq_one;
+   
+         c_state_out_len = 2;
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         if (c_nblock_used == s_save_nblockPP) continue;
+         if (k1 != c_k0) { c_k0 = k1; continue; };
+   
+         c_state_out_len = 3;
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         if (c_nblock_used == s_save_nblockPP) continue;
+         if (k1 != c_k0) { c_k0 = k1; continue; };
+   
+         BZ_GET_FAST_C(k1); c_nblock_used++;
+         c_state_out_len = ((Int32)k1) + 4;
+         BZ_GET_FAST_C(c_k0); c_nblock_used++;
+      }
+
+      return_notr:
+      total_out_lo32_old = s->strm->total_out_lo32;
+      s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out);
+      if (s->strm->total_out_lo32 < total_out_lo32_old)
+         s->strm->total_out_hi32++;
+
+      /* save */
+      s->calculatedBlockCRC = c_calculatedBlockCRC;
+      s->state_out_ch       = c_state_out_ch;
+      s->state_out_len      = c_state_out_len;
+      s->nblock_used        = c_nblock_used;
+      s->k0                 = c_k0;
+      s->tt                 = c_tt;
+      s->tPos               = c_tPos;
+      s->strm->next_out     = cs_next_out;
+      s->strm->avail_out    = cs_avail_out;
+      /* end save */
+   }
+   return False;
+}
+
+
+
+/*---------------------------------------------------*/
+__inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
+{
+   Int32 nb, na, mid;
+   nb = 0;
+   na = 256;
+   do {
+      mid = (nb + na) >> 1;
+      if (indx >= cftab[mid]) nb = mid; else na = mid;
+   }
+   while (na - nb != 1);
+   return nb;
+}
+
+
+/*---------------------------------------------------*/
+/* Return  True iff data corruption is discovered.
+   Returns False if there is no problem.
+*/
+static
+Bool unRLE_obuf_to_output_SMALL ( DState* s )
+{
+   UChar k1;
+
+   if (s->blockRandomised) {
+
+      while (True) {
+         /* try to finish existing run */
+         while (True) {
+            if (s->strm->avail_out == 0) return False;
+            if (s->state_out_len == 0) break;
+            *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
+            BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
+            s->state_out_len--;
+            s->strm->next_out++;
+            s->strm->avail_out--;
+            s->strm->total_out_lo32++;
+            if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+         }
+   
+         /* can a new run be started? */
+         if (s->nblock_used == s->save_nblock+1) return False;
+
+         /* Only caused by corrupt data stream? */
+         if (s->nblock_used > s->save_nblock+1)
+            return True;
+   
+         s->state_out_len = 1;
+         s->state_out_ch = s->k0;
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 2;
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 3;
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; 
+         k1 ^= BZ_RAND_MASK; s->nblock_used++;
+         s->state_out_len = ((Int32)k1) + 4;
+         BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK; 
+         s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
+      }
+
+   } else {
+
+      while (True) {
+         /* try to finish existing run */
+         while (True) {
+            if (s->strm->avail_out == 0) return False;
+            if (s->state_out_len == 0) break;
+            *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
+            BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
+            s->state_out_len--;
+            s->strm->next_out++;
+            s->strm->avail_out--;
+            s->strm->total_out_lo32++;
+            if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
+         }
+   
+         /* can a new run be started? */
+         if (s->nblock_used == s->save_nblock+1) return False;
+
+         /* Only caused by corrupt data stream? */
+         if (s->nblock_used > s->save_nblock+1)
+            return True;
+   
+         s->state_out_len = 1;
+         s->state_out_ch = s->k0;
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 2;
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         s->state_out_len = 3;
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         if (s->nblock_used == s->save_nblock+1) continue;
+         if (k1 != s->k0) { s->k0 = k1; continue; };
+   
+         BZ_GET_SMALL(k1); s->nblock_used++;
+         s->state_out_len = ((Int32)k1) + 4;
+         BZ_GET_SMALL(s->k0); s->nblock_used++;
+      }
+
+   }
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
+{
+   Bool    corrupt;
+   DState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   while (True) {
+      if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
+      if (s->state == BZ_X_OUTPUT) {
+         if (s->smallDecompress)
+            corrupt = unRLE_obuf_to_output_SMALL ( s ); else
+            corrupt = unRLE_obuf_to_output_FAST  ( s );
+         if (corrupt) return BZ_DATA_ERROR;
+         if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
+            BZ_FINALISE_CRC ( s->calculatedBlockCRC );
+            if (s->verbosity >= 3) 
+               VPrintf2 ( " {0x%08x, 0x%08x}", s->storedBlockCRC, 
+                          s->calculatedBlockCRC );
+            if (s->verbosity >= 2) VPrintf0 ( "]" );
+            if (s->calculatedBlockCRC != s->storedBlockCRC)
+               return BZ_DATA_ERROR;
+            s->calculatedCombinedCRC 
+               = (s->calculatedCombinedCRC << 1) | 
+                    (s->calculatedCombinedCRC >> 31);
+            s->calculatedCombinedCRC ^= s->calculatedBlockCRC;
+            s->state = BZ_X_BLKHDR_1;
+         } else {
+            return BZ_OK;
+         }
+      }
+      if (s->state >= BZ_X_MAGIC_1) {
+         Int32 r = BZ2_decompress ( s );
+         if (r == BZ_STREAM_END) {
+            if (s->verbosity >= 3)
+               VPrintf2 ( "\n    combined CRCs: stored = 0x%08x, computed = 0x%08x", 
+                          s->storedCombinedCRC, s->calculatedCombinedCRC );
+            if (s->calculatedCombinedCRC != s->storedCombinedCRC)
+               return BZ_DATA_ERROR;
+            return r;
+         }
+         if (s->state != BZ_X_OUTPUT) return r;
+      }
+   }
+
+   AssertH ( 0, 6001 );
+
+   return 0;  /*NOTREACHED*/
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzDecompressEnd)  ( bz_stream *strm )
+{
+   DState* s;
+   if (strm == NULL) return BZ_PARAM_ERROR;
+   s = strm->state;
+   if (s == NULL) return BZ_PARAM_ERROR;
+   if (s->strm != strm) return BZ_PARAM_ERROR;
+
+   if (s->tt   != NULL) BZFREE(s->tt);
+   if (s->ll16 != NULL) BZFREE(s->ll16);
+   if (s->ll4  != NULL) BZFREE(s->ll4);
+
+   BZFREE(strm->state);
+   strm->state = NULL;
+
+   return BZ_OK;
+}
+
+
+#ifndef BZ_NO_STDIO
+/*---------------------------------------------------*/
+/*--- File I/O stuff                              ---*/
+/*---------------------------------------------------*/
+
+#define BZ_SETERR(eee)                    \
+{                                         \
+   if (bzerror != NULL) *bzerror = eee;   \
+   if (bzf != NULL) bzf->lastErr = eee;   \
+}
+
+typedef 
+   struct {
+      FILE*     handle;
+      Char      buf[BZ_MAX_UNUSED];
+      Int32     bufN;
+      Bool      writing;
+      bz_stream strm;
+      Int32     lastErr;
+      Bool      initialisedOk;
+   }
+   bzFile;
+
+
+/*---------------------------------------------*/
+static Bool myfeof ( FILE* f )
+{
+   Int32 c = fgetc ( f );
+   if (c == EOF) return True;
+   ungetc ( c, f );
+   return False;
+}
+
+
+/*---------------------------------------------------*/
+BZFILE* BZ_API(BZ2_bzWriteOpen) 
+                    ( int*  bzerror,      
+                      FILE* f, 
+                      int   blockSize100k, 
+                      int   verbosity,
+                      int   workFactor )
+{
+   Int32   ret;
+   bzFile* bzf = NULL;
+
+   BZ_SETERR(BZ_OK);
+
+   if (f == NULL ||
+       (blockSize100k < 1 || blockSize100k > 9) ||
+       (workFactor < 0 || workFactor > 250) ||
+       (verbosity < 0 || verbosity > 4))
+      { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
+
+   if (ferror(f))
+      { BZ_SETERR(BZ_IO_ERROR); return NULL; };
+
+   bzf = malloc ( sizeof(bzFile) );
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
+
+   BZ_SETERR(BZ_OK);
+   bzf->initialisedOk = False;
+   bzf->bufN          = 0;
+   bzf->handle        = f;
+   bzf->writing       = True;
+   bzf->strm.bzalloc  = NULL;
+   bzf->strm.bzfree   = NULL;
+   bzf->strm.opaque   = NULL;
+
+   if (workFactor == 0) workFactor = 30;
+   ret = BZ2_bzCompressInit ( &(bzf->strm), blockSize100k, 
+                              verbosity, workFactor );
+   if (ret != BZ_OK)
+      { BZ_SETERR(ret); free(bzf); return NULL; };
+
+   bzf->strm.avail_in = 0;
+   bzf->initialisedOk = True;
+   return bzf;   
+}
+
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzWrite)
+             ( int*    bzerror, 
+               BZFILE* b, 
+               void*   buf, 
+               int     len )
+{
+   Int32 n, n2, ret;
+   bzFile* bzf = (bzFile*)b;
+
+   BZ_SETERR(BZ_OK);
+   if (bzf == NULL || buf == NULL || len < 0)
+      { BZ_SETERR(BZ_PARAM_ERROR); return; };
+   if (!(bzf->writing))
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+   if (ferror(bzf->handle))
+      { BZ_SETERR(BZ_IO_ERROR); return; };
+
+   if (len == 0)
+      { BZ_SETERR(BZ_OK); return; };
+
+   bzf->strm.avail_in = len;
+   bzf->strm.next_in  = buf;
+
+   while (True) {
+      bzf->strm.avail_out = BZ_MAX_UNUSED;
+      bzf->strm.next_out = bzf->buf;
+      ret = BZ2_bzCompress ( &(bzf->strm), BZ_RUN );
+      if (ret != BZ_RUN_OK)
+         { BZ_SETERR(ret); return; };
+
+      if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
+         n = BZ_MAX_UNUSED - bzf->strm.avail_out;
+         n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar), 
+                       n, bzf->handle );
+         if (n != n2 || ferror(bzf->handle))
+            { BZ_SETERR(BZ_IO_ERROR); return; };
+      }
+
+      if (bzf->strm.avail_in == 0)
+         { BZ_SETERR(BZ_OK); return; };
+   }
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzWriteClose)
+                  ( int*          bzerror, 
+                    BZFILE*       b, 
+                    int           abandon,
+                    unsigned int* nbytes_in,
+                    unsigned int* nbytes_out )
+{
+   BZ2_bzWriteClose64 ( bzerror, b, abandon, 
+                        nbytes_in, NULL, nbytes_out, NULL );
+}
+
+
+void BZ_API(BZ2_bzWriteClose64)
+                  ( int*          bzerror, 
+                    BZFILE*       b, 
+                    int           abandon,
+                    unsigned int* nbytes_in_lo32,
+                    unsigned int* nbytes_in_hi32,
+                    unsigned int* nbytes_out_lo32,
+                    unsigned int* nbytes_out_hi32 )
+{
+   Int32   n, n2, ret;
+   bzFile* bzf = (bzFile*)b;
+
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_OK); return; };
+   if (!(bzf->writing))
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+   if (ferror(bzf->handle))
+      { BZ_SETERR(BZ_IO_ERROR); return; };
+
+   if (nbytes_in_lo32 != NULL) *nbytes_in_lo32 = 0;
+   if (nbytes_in_hi32 != NULL) *nbytes_in_hi32 = 0;
+   if (nbytes_out_lo32 != NULL) *nbytes_out_lo32 = 0;
+   if (nbytes_out_hi32 != NULL) *nbytes_out_hi32 = 0;
+
+   if ((!abandon) && bzf->lastErr == BZ_OK) {
+      while (True) {
+         bzf->strm.avail_out = BZ_MAX_UNUSED;
+         bzf->strm.next_out = bzf->buf;
+         ret = BZ2_bzCompress ( &(bzf->strm), BZ_FINISH );
+         if (ret != BZ_FINISH_OK && ret != BZ_STREAM_END)
+            { BZ_SETERR(ret); return; };
+
+         if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
+            n = BZ_MAX_UNUSED - bzf->strm.avail_out;
+            n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar), 
+                          n, bzf->handle );
+            if (n != n2 || ferror(bzf->handle))
+               { BZ_SETERR(BZ_IO_ERROR); return; };
+         }
+
+         if (ret == BZ_STREAM_END) break;
+      }
+   }
+
+   if ( !abandon && !ferror ( bzf->handle ) ) {
+      fflush ( bzf->handle );
+      if (ferror(bzf->handle))
+         { BZ_SETERR(BZ_IO_ERROR); return; };
+   }
+
+   if (nbytes_in_lo32 != NULL)
+      *nbytes_in_lo32 = bzf->strm.total_in_lo32;
+   if (nbytes_in_hi32 != NULL)
+      *nbytes_in_hi32 = bzf->strm.total_in_hi32;
+   if (nbytes_out_lo32 != NULL)
+      *nbytes_out_lo32 = bzf->strm.total_out_lo32;
+   if (nbytes_out_hi32 != NULL)
+      *nbytes_out_hi32 = bzf->strm.total_out_hi32;
+
+   BZ_SETERR(BZ_OK);
+   BZ2_bzCompressEnd ( &(bzf->strm) );
+   free ( bzf );
+}
+
+
+/*---------------------------------------------------*/
+BZFILE* BZ_API(BZ2_bzReadOpen) 
+                   ( int*  bzerror, 
+                     FILE* f, 
+                     int   verbosity,
+                     int   small,
+                     void* unused,
+                     int   nUnused )
+{
+   bzFile* bzf = NULL;
+   int     ret;
+
+   BZ_SETERR(BZ_OK);
+
+   if (f == NULL || 
+       (small != 0 && small != 1) ||
+       (verbosity < 0 || verbosity > 4) ||
+       (unused == NULL && nUnused != 0) ||
+       (unused != NULL && (nUnused < 0 || nUnused > BZ_MAX_UNUSED)))
+      { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
+
+   if (ferror(f))
+      { BZ_SETERR(BZ_IO_ERROR); return NULL; };
+
+   bzf = malloc ( sizeof(bzFile) );
+   if (bzf == NULL) 
+      { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
+
+   BZ_SETERR(BZ_OK);
+
+   bzf->initialisedOk = False;
+   bzf->handle        = f;
+   bzf->bufN          = 0;
+   bzf->writing       = False;
+   bzf->strm.bzalloc  = NULL;
+   bzf->strm.bzfree   = NULL;
+   bzf->strm.opaque   = NULL;
+   
+   while (nUnused > 0) {
+      bzf->buf[bzf->bufN] = *((UChar*)(unused)); bzf->bufN++;
+      unused = ((void*)( 1 + ((UChar*)(unused))  ));
+      nUnused--;
+   }
+
+   ret = BZ2_bzDecompressInit ( &(bzf->strm), verbosity, small );
+   if (ret != BZ_OK)
+      { BZ_SETERR(ret); free(bzf); return NULL; };
+
+   bzf->strm.avail_in = bzf->bufN;
+   bzf->strm.next_in  = bzf->buf;
+
+   bzf->initialisedOk = True;
+   return bzf;   
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzReadClose) ( int *bzerror, BZFILE *b )
+{
+   bzFile* bzf = (bzFile*)b;
+
+   BZ_SETERR(BZ_OK);
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_OK); return; };
+
+   if (bzf->writing)
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+
+   if (bzf->initialisedOk)
+      (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
+   free ( bzf );
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzRead) 
+           ( int*    bzerror, 
+             BZFILE* b, 
+             void*   buf, 
+             int     len )
+{
+   Int32   n, ret;
+   bzFile* bzf = (bzFile*)b;
+
+   BZ_SETERR(BZ_OK);
+
+   if (bzf == NULL || buf == NULL || len < 0)
+      { BZ_SETERR(BZ_PARAM_ERROR); return 0; };
+
+   if (bzf->writing)
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return 0; };
+
+   if (len == 0)
+      { BZ_SETERR(BZ_OK); return 0; };
+
+   bzf->strm.avail_out = len;
+   bzf->strm.next_out = buf;
+
+   while (True) {
+
+      if (ferror(bzf->handle)) 
+         { BZ_SETERR(BZ_IO_ERROR); return 0; };
+
+      if (bzf->strm.avail_in == 0 && !myfeof(bzf->handle)) {
+         n = fread ( bzf->buf, sizeof(UChar), 
+                     BZ_MAX_UNUSED, bzf->handle );
+         if (ferror(bzf->handle))
+            { BZ_SETERR(BZ_IO_ERROR); return 0; };
+         bzf->bufN = n;
+         bzf->strm.avail_in = bzf->bufN;
+         bzf->strm.next_in = bzf->buf;
+      }
+
+      ret = BZ2_bzDecompress ( &(bzf->strm) );
+
+      if (ret != BZ_OK && ret != BZ_STREAM_END)
+         { BZ_SETERR(ret); return 0; };
+
+      if (ret == BZ_OK && myfeof(bzf->handle) && 
+          bzf->strm.avail_in == 0 && bzf->strm.avail_out > 0)
+         { BZ_SETERR(BZ_UNEXPECTED_EOF); return 0; };
+
+      if (ret == BZ_STREAM_END)
+         { BZ_SETERR(BZ_STREAM_END);
+           return len - bzf->strm.avail_out; };
+      if (bzf->strm.avail_out == 0)
+         { BZ_SETERR(BZ_OK); return len; };
+      
+   }
+
+   return 0; /*not reached*/
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzReadGetUnused) 
+                     ( int*    bzerror, 
+                       BZFILE* b, 
+                       void**  unused, 
+                       int*    nUnused )
+{
+   bzFile* bzf = (bzFile*)b;
+   if (bzf == NULL)
+      { BZ_SETERR(BZ_PARAM_ERROR); return; };
+   if (bzf->lastErr != BZ_STREAM_END)
+      { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+   if (unused == NULL || nUnused == NULL)
+      { BZ_SETERR(BZ_PARAM_ERROR); return; };
+
+   BZ_SETERR(BZ_OK);
+   *nUnused = bzf->strm.avail_in;
+   *unused = bzf->strm.next_in;
+}
+#endif
+
+
+/*---------------------------------------------------*/
+/*--- Misc convenience stuff                      ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzBuffToBuffCompress) 
+                         ( char*         dest, 
+                           unsigned int* destLen,
+                           char*         source, 
+                           unsigned int  sourceLen,
+                           int           blockSize100k, 
+                           int           verbosity, 
+                           int           workFactor )
+{
+   bz_stream strm;
+   int ret;
+
+   if (dest == NULL || destLen == NULL || 
+       source == NULL ||
+       blockSize100k < 1 || blockSize100k > 9 ||
+       verbosity < 0 || verbosity > 4 ||
+       workFactor < 0 || workFactor > 250) 
+      return BZ_PARAM_ERROR;
+
+   if (workFactor == 0) workFactor = 30;
+   strm.bzalloc = NULL;
+   strm.bzfree = NULL;
+   strm.opaque = NULL;
+   ret = BZ2_bzCompressInit ( &strm, blockSize100k, 
+                              verbosity, workFactor );
+   if (ret != BZ_OK) return ret;
+
+   strm.next_in = source;
+   strm.next_out = dest;
+   strm.avail_in = sourceLen;
+   strm.avail_out = *destLen;
+
+   ret = BZ2_bzCompress ( &strm, BZ_FINISH );
+   if (ret == BZ_FINISH_OK) goto output_overflow;
+   if (ret != BZ_STREAM_END) goto errhandler;
+
+   /* normal termination */
+   *destLen -= strm.avail_out;   
+   BZ2_bzCompressEnd ( &strm );
+   return BZ_OK;
+
+   output_overflow:
+   BZ2_bzCompressEnd ( &strm );
+   return BZ_OUTBUFF_FULL;
+
+   errhandler:
+   BZ2_bzCompressEnd ( &strm );
+   return ret;
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzBuffToBuffDecompress) 
+                           ( char*         dest, 
+                             unsigned int* destLen,
+                             char*         source, 
+                             unsigned int  sourceLen,
+                             int           small,
+                             int           verbosity )
+{
+   bz_stream strm;
+   int ret;
+
+   if (dest == NULL || destLen == NULL || 
+       source == NULL ||
+       (small != 0 && small != 1) ||
+       verbosity < 0 || verbosity > 4) 
+          return BZ_PARAM_ERROR;
+
+   strm.bzalloc = NULL;
+   strm.bzfree = NULL;
+   strm.opaque = NULL;
+   ret = BZ2_bzDecompressInit ( &strm, verbosity, small );
+   if (ret != BZ_OK) return ret;
+
+   strm.next_in = source;
+   strm.next_out = dest;
+   strm.avail_in = sourceLen;
+   strm.avail_out = *destLen;
+
+   ret = BZ2_bzDecompress ( &strm );
+   if (ret == BZ_OK) goto output_overflow_or_eof;
+   if (ret != BZ_STREAM_END) goto errhandler;
+
+   /* normal termination */
+   *destLen -= strm.avail_out;
+   BZ2_bzDecompressEnd ( &strm );
+   return BZ_OK;
+
+   output_overflow_or_eof:
+   if (strm.avail_out > 0) {
+      BZ2_bzDecompressEnd ( &strm );
+      return BZ_UNEXPECTED_EOF;
+   } else {
+      BZ2_bzDecompressEnd ( &strm );
+      return BZ_OUTBUFF_FULL;
+   };      
+
+   errhandler:
+   BZ2_bzDecompressEnd ( &strm );
+   return ret; 
+}
+
+
+/*---------------------------------------------------*/
+/*--
+   Code contributed by Yoshioka Tsuneo
+   (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
+   to support better zlib compatibility.
+   This code is not _officially_ part of libbzip2 (yet);
+   I haven't tested it, documented it, or considered the
+   threading-safeness of it.
+   If this code breaks, please contact both Yoshioka and me.
+--*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+/*--
+   return version like "0.9.0c".
+--*/
+const char * BZ_API(BZ2_bzlibVersion)(void)
+{
+   return BZ_VERSION;
+}
+
+
+#ifndef BZ_NO_STDIO
+/*---------------------------------------------------*/
+
+#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
+#   include <fcntl.h>
+#   include <io.h>
+#   define SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY)
+#else
+#   define SET_BINARY_MODE(file)
+#endif
+static
+BZFILE * bzopen_or_bzdopen
+               ( const char *path,   /* no use when bzdopen */
+                 int fd,             /* no use when bzdopen */
+                 const char *mode,
+                 int open_mode)      /* bzopen: 0, bzdopen:1 */
+{
+   int    bzerr;
+   char   unused[BZ_MAX_UNUSED];
+   int    blockSize100k = 9;
+   int    writing       = 0;
+   char   mode2[10]     = "";
+   FILE   *fp           = NULL;
+   BZFILE *bzfp         = NULL;
+   int    verbosity     = 0;
+   int    workFactor    = 30;
+   int    smallMode     = 0;
+   int    nUnused       = 0; 
+
+   if (mode == NULL) return NULL;
+   while (*mode) {
+      switch (*mode) {
+      case 'r':
+         writing = 0; break;
+      case 'w':
+         writing = 1; break;
+      case 's':
+         smallMode = 1; break;
+      default:
+         if (isdigit((int)(*mode))) {
+            blockSize100k = *mode-BZ_HDR_0;
+         }
+      }
+      mode++;
+   }
+   strcat(mode2, writing ? "w" : "r" );
+   strcat(mode2,"b");   /* binary mode */
+
+   if (open_mode==0) {
+      if (path==NULL || strcmp(path,"")==0) {
+        fp = (writing ? stdout : stdin);
+        SET_BINARY_MODE(fp);
+      } else {
+        fp = fopen(path,mode2);
+      }
+   } else {
+#ifdef BZ_STRICT_ANSI
+      fp = NULL;
+#else
+      fp = fdopen(fd,mode2);
+#endif
+   }
+   if (fp == NULL) return NULL;
+
+   if (writing) {
+      /* Guard against total chaos and anarchy -- JRS */
+      if (blockSize100k < 1) blockSize100k = 1;
+      if (blockSize100k > 9) blockSize100k = 9; 
+      bzfp = BZ2_bzWriteOpen(&bzerr,fp,blockSize100k,
+                             verbosity,workFactor);
+   } else {
+      bzfp = BZ2_bzReadOpen(&bzerr,fp,verbosity,smallMode,
+                            unused,nUnused);
+   }
+   if (bzfp == NULL) {
+      if (fp != stdin && fp != stdout) fclose(fp);
+      return NULL;
+   }
+   return bzfp;
+}
+
+
+/*---------------------------------------------------*/
+/*--
+   open file for read or write.
+      ex) bzopen("file","w9")
+      case path="" or NULL => use stdin or stdout.
+--*/
+BZFILE * BZ_API(BZ2_bzopen)
+               ( const char *path,
+                 const char *mode )
+{
+   return bzopen_or_bzdopen(path,-1,mode,/*bzopen*/0);
+}
+
+
+/*---------------------------------------------------*/
+BZFILE * BZ_API(BZ2_bzdopen)
+               ( int fd,
+                 const char *mode )
+{
+   return bzopen_or_bzdopen(NULL,fd,mode,/*bzdopen*/1);
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzread) (BZFILE* b, void* buf, int len )
+{
+   int bzerr, nread;
+   if (((bzFile*)b)->lastErr == BZ_STREAM_END) return 0;
+   nread = BZ2_bzRead(&bzerr,b,buf,len);
+   if (bzerr == BZ_OK || bzerr == BZ_STREAM_END) {
+      return nread;
+   } else {
+      return -1;
+   }
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzwrite) (BZFILE* b, void* buf, int len )
+{
+   int bzerr;
+
+   BZ2_bzWrite(&bzerr,b,buf,len);
+   if(bzerr == BZ_OK){
+      return len;
+   }else{
+      return -1;
+   }
+}
+
+
+/*---------------------------------------------------*/
+int BZ_API(BZ2_bzflush) (BZFILE *b)
+{
+   /* do nothing now... */
+   return 0;
+}
+
+
+/*---------------------------------------------------*/
+void BZ_API(BZ2_bzclose) (BZFILE* b)
+{
+   int bzerr;
+   FILE *fp = ((bzFile *)b)->handle;
+   
+   if (b==NULL) {return;}
+   if(((bzFile*)b)->writing){
+      BZ2_bzWriteClose(&bzerr,b,0,NULL,NULL);
+      if(bzerr != BZ_OK){
+         BZ2_bzWriteClose(NULL,b,1,NULL,NULL);
+      }
+   }else{
+      BZ2_bzReadClose(&bzerr,b);
+   }
+   if(fp!=stdin && fp!=stdout){
+      fclose(fp);
+   }
+}
+
+
+/*---------------------------------------------------*/
+/*--
+   return last error code 
+--*/
+static char *bzerrorstrings[] = {
+       "OK"
+      ,"SEQUENCE_ERROR"
+      ,"PARAM_ERROR"
+      ,"MEM_ERROR"
+      ,"DATA_ERROR"
+      ,"DATA_ERROR_MAGIC"
+      ,"IO_ERROR"
+      ,"UNEXPECTED_EOF"
+      ,"OUTBUFF_FULL"
+      ,"CONFIG_ERROR"
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+};
+
+
+const char * BZ_API(BZ2_bzerror) (BZFILE *b, int *errnum)
+{
+   int err = ((bzFile *)b)->lastErr;
+
+   if(err>0) err = 0;
+   *errnum = err;
+   return bzerrorstrings[err*-1];
+}
+#endif
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                           bzlib.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/bzlib.h b/commands/bzip2-1.0.3/bzlib.h
new file mode 100644 (file)
index 0000000..3237243
--- /dev/null
@@ -0,0 +1,323 @@
+
+/*-------------------------------------------------------------*/
+/*--- Public header file for the library.                   ---*/
+/*---                                               bzlib.h ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+
+#ifndef _BZLIB_H
+#define _BZLIB_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define BZ_RUN               0
+#define BZ_FLUSH             1
+#define BZ_FINISH            2
+
+#define BZ_OK                0
+#define BZ_RUN_OK            1
+#define BZ_FLUSH_OK          2
+#define BZ_FINISH_OK         3
+#define BZ_STREAM_END        4
+#define BZ_SEQUENCE_ERROR    (-1)
+#define BZ_PARAM_ERROR       (-2)
+#define BZ_MEM_ERROR         (-3)
+#define BZ_DATA_ERROR        (-4)
+#define BZ_DATA_ERROR_MAGIC  (-5)
+#define BZ_IO_ERROR          (-6)
+#define BZ_UNEXPECTED_EOF    (-7)
+#define BZ_OUTBUFF_FULL      (-8)
+#define BZ_CONFIG_ERROR      (-9)
+
+typedef 
+   struct {
+      char *next_in;
+      unsigned int avail_in;
+      unsigned int total_in_lo32;
+      unsigned int total_in_hi32;
+
+      char *next_out;
+      unsigned int avail_out;
+      unsigned int total_out_lo32;
+      unsigned int total_out_hi32;
+
+      void *state;
+
+      void *(*bzalloc)(void *,int,int);
+      void (*bzfree)(void *,void *);
+      void *opaque;
+   } 
+   bz_stream;
+
+
+#ifndef BZ_IMPORT
+#define BZ_EXPORT
+#endif
+
+#ifndef BZ_NO_STDIO
+/* Need a definitition for FILE */
+#include <stdio.h>
+#endif
+
+#ifdef _WIN32
+#   include <windows.h>
+#   ifdef small
+      /* windows.h define small to char */
+#      undef small
+#   endif
+#   ifdef BZ_EXPORT
+#   define BZ_API(func) WINAPI func
+#   define BZ_EXTERN extern
+#   else
+   /* import windows dll dynamically */
+#   define BZ_API(func) (WINAPI * func)
+#   define BZ_EXTERN
+#   endif
+#else
+#   define BZ_API(func) func
+#   define BZ_EXTERN extern
+#endif
+
+
+/*-- Core (low-level) library functions --*/
+
+BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( 
+      bz_stream* strm, 
+      int        blockSize100k, 
+      int        verbosity, 
+      int        workFactor 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzCompress) ( 
+      bz_stream* strm, 
+      int action 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) ( 
+      bz_stream* strm 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) ( 
+      bz_stream *strm, 
+      int       verbosity, 
+      int       small
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 
+      bz_stream* strm 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) ( 
+      bz_stream *strm 
+   );
+
+
+
+/*-- High(er) level library functions --*/
+
+#ifndef BZ_NO_STDIO
+#define BZ_MAX_UNUSED 5000
+
+typedef void BZFILE;
+
+BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) ( 
+      int*  bzerror,   
+      FILE* f, 
+      int   verbosity, 
+      int   small,
+      void* unused,    
+      int   nUnused 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzReadClose) ( 
+      int*    bzerror, 
+      BZFILE* b 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) ( 
+      int*    bzerror, 
+      BZFILE* b, 
+      void**  unused,  
+      int*    nUnused 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzRead) ( 
+      int*    bzerror, 
+      BZFILE* b, 
+      void*   buf, 
+      int     len 
+   );
+
+BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) ( 
+      int*  bzerror,      
+      FILE* f, 
+      int   blockSize100k, 
+      int   verbosity, 
+      int   workFactor 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzWrite) ( 
+      int*    bzerror, 
+      BZFILE* b, 
+      void*   buf, 
+      int     len 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzWriteClose) ( 
+      int*          bzerror, 
+      BZFILE*       b, 
+      int           abandon, 
+      unsigned int* nbytes_in, 
+      unsigned int* nbytes_out 
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) ( 
+      int*          bzerror, 
+      BZFILE*       b, 
+      int           abandon, 
+      unsigned int* nbytes_in_lo32, 
+      unsigned int* nbytes_in_hi32, 
+      unsigned int* nbytes_out_lo32, 
+      unsigned int* nbytes_out_hi32
+   );
+#endif
+
+
+/*-- Utility functions --*/
+
+BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) ( 
+      char*         dest, 
+      unsigned int* destLen,
+      char*         source, 
+      unsigned int  sourceLen,
+      int           blockSize100k, 
+      int           verbosity, 
+      int           workFactor 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) ( 
+      char*         dest, 
+      unsigned int* destLen,
+      char*         source, 
+      unsigned int  sourceLen,
+      int           small, 
+      int           verbosity 
+   );
+
+
+/*--
+   Code contributed by Yoshioka Tsuneo
+   (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
+   to support better zlib compatibility.
+   This code is not _officially_ part of libbzip2 (yet);
+   I haven't tested it, documented it, or considered the
+   threading-safeness of it.
+   If this code breaks, please contact both Yoshioka and me.
+--*/
+
+BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
+      void
+   );
+
+#ifndef BZ_NO_STDIO
+BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
+      const char *path,
+      const char *mode
+   );
+
+BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
+      int        fd,
+      const char *mode
+   );
+         
+BZ_EXTERN int BZ_API(BZ2_bzread) (
+      BZFILE* b, 
+      void* buf, 
+      int len 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzwrite) (
+      BZFILE* b, 
+      void*   buf, 
+      int     len 
+   );
+
+BZ_EXTERN int BZ_API(BZ2_bzflush) (
+      BZFILE* b
+   );
+
+BZ_EXTERN void BZ_API(BZ2_bzclose) (
+      BZFILE* b
+   );
+
+BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
+      BZFILE *b, 
+      int    *errnum
+   );
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/*-------------------------------------------------------------*/
+/*--- end                                           bzlib.h ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/bzlib_private.h b/commands/bzip2-1.0.3/bzlib_private.h
new file mode 100644 (file)
index 0000000..ca76fe6
--- /dev/null
@@ -0,0 +1,537 @@
+
+/*-------------------------------------------------------------*/
+/*--- Private header file for the library.                  ---*/
+/*---                                       bzlib_private.h ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+
+#ifndef _BZLIB_PRIVATE_H
+#define _BZLIB_PRIVATE_H
+
+#include <stdlib.h>
+
+#ifndef BZ_NO_STDIO
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#endif
+
+#include "bzlib.h"
+
+
+
+/*-- General stuff. --*/
+
+#define BZ_VERSION  "1.0.3, 15-Feb-2005"
+
+typedef char            Char;
+typedef unsigned char   Bool;
+typedef unsigned char   UChar;
+typedef int             Int32;
+typedef unsigned int    UInt32;
+typedef short           Int16;
+typedef unsigned short  UInt16;
+
+#define True  ((Bool)1)
+#define False ((Bool)0)
+
+#ifndef __GNUC__
+#define __inline__  /* */
+#endif 
+
+#ifndef BZ_NO_STDIO
+extern void BZ2_bz__AssertH__fail ( int errcode );
+#define AssertH(cond,errcode) \
+   { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
+#if BZ_DEBUG
+#define AssertD(cond,msg) \
+   { if (!(cond)) {       \
+      fprintf ( stderr,   \
+        "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
+      exit(1); \
+   }}
+#else
+#define AssertD(cond,msg) /* */
+#endif
+#define VPrintf0(zf) \
+   fprintf(stderr,zf)
+#define VPrintf1(zf,za1) \
+   fprintf(stderr,zf,za1)
+#define VPrintf2(zf,za1,za2) \
+   fprintf(stderr,zf,za1,za2)
+#define VPrintf3(zf,za1,za2,za3) \
+   fprintf(stderr,zf,za1,za2,za3)
+#define VPrintf4(zf,za1,za2,za3,za4) \
+   fprintf(stderr,zf,za1,za2,za3,za4)
+#define VPrintf5(zf,za1,za2,za3,za4,za5) \
+   fprintf(stderr,zf,za1,za2,za3,za4,za5)
+#else
+extern void bz_internal_error ( int errcode );
+#define AssertH(cond,errcode) \
+   { if (!(cond)) bz_internal_error ( errcode ); }
+#define AssertD(cond,msg) /* */
+#define VPrintf0(zf) /* */
+#define VPrintf1(zf,za1) /* */
+#define VPrintf2(zf,za1,za2) /* */
+#define VPrintf3(zf,za1,za2,za3) /* */
+#define VPrintf4(zf,za1,za2,za3,za4) /* */
+#define VPrintf5(zf,za1,za2,za3,za4,za5) /* */
+#endif
+
+
+#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
+#define BZFREE(ppp)  (strm->bzfree)(strm->opaque,(ppp))
+
+
+/*-- Header bytes. --*/
+
+#define BZ_HDR_B 0x42   /* 'B' */
+#define BZ_HDR_Z 0x5a   /* 'Z' */
+#define BZ_HDR_h 0x68   /* 'h' */
+#define BZ_HDR_0 0x30   /* '0' */
+  
+/*-- Constants for the back end. --*/
+
+#define BZ_MAX_ALPHA_SIZE 258
+#define BZ_MAX_CODE_LEN    23
+
+#define BZ_RUNA 0
+#define BZ_RUNB 1
+
+#define BZ_N_GROUPS 6
+#define BZ_G_SIZE   50
+#define BZ_N_ITERS  4
+
+#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
+
+
+
+/*-- Stuff for randomising repetitive blocks. --*/
+
+extern Int32 BZ2_rNums[512];
+
+#define BZ_RAND_DECLS                          \
+   Int32 rNToGo;                               \
+   Int32 rTPos                                 \
+
+#define BZ_RAND_INIT_MASK                      \
+   s->rNToGo = 0;                              \
+   s->rTPos  = 0                               \
+
+#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
+
+#define BZ_RAND_UPD_MASK                       \
+   if (s->rNToGo == 0) {                       \
+      s->rNToGo = BZ2_rNums[s->rTPos];         \
+      s->rTPos++;                              \
+      if (s->rTPos == 512) s->rTPos = 0;       \
+   }                                           \
+   s->rNToGo--;
+
+
+
+/*-- Stuff for doing CRCs. --*/
+
+extern UInt32 BZ2_crc32Table[256];
+
+#define BZ_INITIALISE_CRC(crcVar)              \
+{                                              \
+   crcVar = 0xffffffffL;                       \
+}
+
+#define BZ_FINALISE_CRC(crcVar)                \
+{                                              \
+   crcVar = ~(crcVar);                         \
+}
+
+#define BZ_UPDATE_CRC(crcVar,cha)              \
+{                                              \
+   crcVar = (crcVar << 8) ^                    \
+            BZ2_crc32Table[(crcVar >> 24) ^    \
+                           ((UChar)cha)];      \
+}
+
+
+
+/*-- States and modes for compression. --*/
+
+#define BZ_M_IDLE      1
+#define BZ_M_RUNNING   2
+#define BZ_M_FLUSHING  3
+#define BZ_M_FINISHING 4
+
+#define BZ_S_OUTPUT    1
+#define BZ_S_INPUT     2
+
+#define BZ_N_RADIX 2
+#define BZ_N_QSORT 12
+#define BZ_N_SHELL 18
+#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
+
+
+
+
+/*-- Structure holding all the compression-side stuff. --*/
+
+typedef
+   struct {
+      /* pointer back to the struct bz_stream */
+      bz_stream* strm;
+
+      /* mode this stream is in, and whether inputting */
+      /* or outputting data */
+      Int32    mode;
+      Int32    state;
+
+      /* remembers avail_in when flush/finish requested */
+      UInt32   avail_in_expect;
+
+      /* for doing the block sorting */
+      UInt32*  arr1;
+      UInt32*  arr2;
+      UInt32*  ftab;
+      Int32    origPtr;
+
+      /* aliases for arr1 and arr2 */
+      UInt32*  ptr;
+      UChar*   block;
+      UInt16*  mtfv;
+      UChar*   zbits;
+
+      /* for deciding when to use the fallback sorting algorithm */
+      Int32    workFactor;
+
+      /* run-length-encoding of the input */
+      UInt32   state_in_ch;
+      Int32    state_in_len;
+      BZ_RAND_DECLS;
+
+      /* input and output limits and current posns */
+      Int32    nblock;
+      Int32    nblockMAX;
+      Int32    numZ;
+      Int32    state_out_pos;
+
+      /* map of bytes used in block */
+      Int32    nInUse;
+      Bool     inUse[256];
+      UChar    unseqToSeq[256];
+
+      /* the buffer for bit stream creation */
+      UInt32   bsBuff;
+      Int32    bsLive;
+
+      /* block and combined CRCs */
+      UInt32   blockCRC;
+      UInt32   combinedCRC;
+
+      /* misc administratium */
+      Int32    verbosity;
+      Int32    blockNo;
+      Int32    blockSize100k;
+
+      /* stuff for coding the MTF values */
+      Int32    nMTF;
+      Int32    mtfFreq    [BZ_MAX_ALPHA_SIZE];
+      UChar    selector   [BZ_MAX_SELECTORS];
+      UChar    selectorMtf[BZ_MAX_SELECTORS];
+
+      UChar    len     [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    code    [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    rfreq   [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      /* second dimension: only 3 needed; 4 makes index calculations faster */
+      UInt32   len_pack[BZ_MAX_ALPHA_SIZE][4];
+
+   }
+   EState;
+
+
+
+/*-- externs for compression. --*/
+
+extern void 
+BZ2_blockSort ( EState* );
+
+extern void 
+BZ2_compressBlock ( EState*, Bool );
+
+extern void 
+BZ2_bsInitWrite ( EState* );
+
+extern void 
+BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
+
+extern void 
+BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
+
+
+
+/*-- states for decompression. --*/
+
+#define BZ_X_IDLE        1
+#define BZ_X_OUTPUT      2
+
+#define BZ_X_MAGIC_1     10
+#define BZ_X_MAGIC_2     11
+#define BZ_X_MAGIC_3     12
+#define BZ_X_MAGIC_4     13
+#define BZ_X_BLKHDR_1    14
+#define BZ_X_BLKHDR_2    15
+#define BZ_X_BLKHDR_3    16
+#define BZ_X_BLKHDR_4    17
+#define BZ_X_BLKHDR_5    18
+#define BZ_X_BLKHDR_6    19
+#define BZ_X_BCRC_1      20
+#define BZ_X_BCRC_2      21
+#define BZ_X_BCRC_3      22
+#define BZ_X_BCRC_4      23
+#define BZ_X_RANDBIT     24
+#define BZ_X_ORIGPTR_1   25
+#define BZ_X_ORIGPTR_2   26
+#define BZ_X_ORIGPTR_3   27
+#define BZ_X_MAPPING_1   28
+#define BZ_X_MAPPING_2   29
+#define BZ_X_SELECTOR_1  30
+#define BZ_X_SELECTOR_2  31
+#define BZ_X_SELECTOR_3  32
+#define BZ_X_CODING_1    33
+#define BZ_X_CODING_2    34
+#define BZ_X_CODING_3    35
+#define BZ_X_MTF_1       36
+#define BZ_X_MTF_2       37
+#define BZ_X_MTF_3       38
+#define BZ_X_MTF_4       39
+#define BZ_X_MTF_5       40
+#define BZ_X_MTF_6       41
+#define BZ_X_ENDHDR_2    42
+#define BZ_X_ENDHDR_3    43
+#define BZ_X_ENDHDR_4    44
+#define BZ_X_ENDHDR_5    45
+#define BZ_X_ENDHDR_6    46
+#define BZ_X_CCRC_1      47
+#define BZ_X_CCRC_2      48
+#define BZ_X_CCRC_3      49
+#define BZ_X_CCRC_4      50
+
+
+
+/*-- Constants for the fast MTF decoder. --*/
+
+#define MTFA_SIZE 4096
+#define MTFL_SIZE 16
+
+
+
+/*-- Structure holding all the decompression-side stuff. --*/
+
+typedef
+   struct {
+      /* pointer back to the struct bz_stream */
+      bz_stream* strm;
+
+      /* state indicator for this stream */
+      Int32    state;
+
+      /* for doing the final run-length decoding */
+      UChar    state_out_ch;
+      Int32    state_out_len;
+      Bool     blockRandomised;
+      BZ_RAND_DECLS;
+
+      /* the buffer for bit stream reading */
+      UInt32   bsBuff;
+      Int32    bsLive;
+
+      /* misc administratium */
+      Int32    blockSize100k;
+      Bool     smallDecompress;
+      Int32    currBlockNo;
+      Int32    verbosity;
+
+      /* for undoing the Burrows-Wheeler transform */
+      Int32    origPtr;
+      UInt32   tPos;
+      Int32    k0;
+      Int32    unzftab[256];
+      Int32    nblock_used;
+      Int32    cftab[257];
+      Int32    cftabCopy[257];
+
+      /* for undoing the Burrows-Wheeler transform (FAST) */
+      UInt32   *tt;
+
+      /* for undoing the Burrows-Wheeler transform (SMALL) */
+      UInt16   *ll16;
+      UChar    *ll4;
+
+      /* stored and calculated CRCs */
+      UInt32   storedBlockCRC;
+      UInt32   storedCombinedCRC;
+      UInt32   calculatedBlockCRC;
+      UInt32   calculatedCombinedCRC;
+
+      /* map of bytes used in block */
+      Int32    nInUse;
+      Bool     inUse[256];
+      Bool     inUse16[16];
+      UChar    seqToUnseq[256];
+
+      /* for decoding the MTF values */
+      UChar    mtfa   [MTFA_SIZE];
+      Int32    mtfbase[256 / MTFL_SIZE];
+      UChar    selector   [BZ_MAX_SELECTORS];
+      UChar    selectorMtf[BZ_MAX_SELECTORS];
+      UChar    len  [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+
+      Int32    limit  [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    base   [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    perm   [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+      Int32    minLens[BZ_N_GROUPS];
+
+      /* save area for scalars in the main decompress code */
+      Int32    save_i;
+      Int32    save_j;
+      Int32    save_t;
+      Int32    save_alphaSize;
+      Int32    save_nGroups;
+      Int32    save_nSelectors;
+      Int32    save_EOB;
+      Int32    save_groupNo;
+      Int32    save_groupPos;
+      Int32    save_nextSym;
+      Int32    save_nblockMAX;
+      Int32    save_nblock;
+      Int32    save_es;
+      Int32    save_N;
+      Int32    save_curr;
+      Int32    save_zt;
+      Int32    save_zn; 
+      Int32    save_zvec;
+      Int32    save_zj;
+      Int32    save_gSel;
+      Int32    save_gMinlen;
+      Int32*   save_gLimit;
+      Int32*   save_gBase;
+      Int32*   save_gPerm;
+
+   }
+   DState;
+
+
+
+/*-- Macros for decompression. --*/
+
+#define BZ_GET_FAST(cccc)                     \
+    s->tPos = s->tt[s->tPos];                 \
+    cccc = (UChar)(s->tPos & 0xff);           \
+    s->tPos >>= 8;
+
+#define BZ_GET_FAST_C(cccc)                   \
+    c_tPos = c_tt[c_tPos];                    \
+    cccc = (UChar)(c_tPos & 0xff);            \
+    c_tPos >>= 8;
+
+#define SET_LL4(i,n)                                          \
+   { if (((i) & 0x1) == 0)                                    \
+        s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else    \
+        s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4);  \
+   }
+
+#define GET_LL4(i)                             \
+   ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
+
+#define SET_LL(i,n)                          \
+   { s->ll16[i] = (UInt16)(n & 0x0000ffff);  \
+     SET_LL4(i, n >> 16);                    \
+   }
+
+#define GET_LL(i) \
+   (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
+
+#define BZ_GET_SMALL(cccc)                            \
+      cccc = BZ2_indexIntoF ( s->tPos, s->cftab );    \
+      s->tPos = GET_LL(s->tPos);
+
+
+/*-- externs for decompression. --*/
+
+extern Int32 
+BZ2_indexIntoF ( Int32, Int32* );
+
+extern Int32 
+BZ2_decompress ( DState* );
+
+extern void 
+BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
+                           Int32,  Int32, Int32 );
+
+
+#endif
+
+
+/*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
+
+#ifdef BZ_NO_STDIO
+#ifndef NULL
+#define NULL 0
+#endif
+#endif
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                   bzlib_private.h ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/bzmore b/commands/bzip2-1.0.3/bzmore
new file mode 100644 (file)
index 0000000..d314043
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# Bzmore wrapped for bzip2, 
+# adapted from zmore by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
+
+PATH="/usr/bin:$PATH"; export PATH
+
+prog=`echo $0 | sed 's|.*/||'`
+case "$prog" in
+       *less)  more=less       ;;
+       *)      more=more       ;;
+esac
+
+if test "`echo -n a`" = "-n a"; then
+  # looks like a SysV system:
+  n1=''; n2='\c'
+else
+  n1='-n'; n2=''
+fi
+oldtty=`stty -g 2>/dev/null`
+if stty -cbreak 2>/dev/null; then
+  cb='cbreak'; ncb='-cbreak'
+else
+  # 'stty min 1' resets eof to ^a on both SunOS and SysV!
+  cb='min 1 -icanon'; ncb='icanon eof ^d'
+fi
+if test $? -eq 0 -a -n "$oldtty"; then
+   trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
+else
+   trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
+fi
+
+if test $# = 0; then
+    if test -t 0; then
+       echo usage: $prog files...
+    else
+       bzip2 -cdfq | eval $more
+    fi
+else
+    FIRST=1
+    for FILE
+    do
+       if test $FIRST -eq 0; then
+               echo $n1 "--More--(Next file: $FILE)$n2"
+               stty $cb -echo 2>/dev/null
+               ANS=`dd bs=1 count=1 2>/dev/null` 
+               stty $ncb echo 2>/dev/null
+               echo " "
+               if test "$ANS" = 'e' -o "$ANS" = 'q'; then
+                       exit
+               fi
+       fi
+       if test "$ANS" != 's'; then
+               echo "------> $FILE <------"
+               bzip2 -cdfq "$FILE" | eval $more
+       fi
+       if test -t; then
+               FIRST=0
+       fi
+    done
+fi
diff --git a/commands/bzip2-1.0.3/bzmore.1 b/commands/bzip2-1.0.3/bzmore.1
new file mode 100644 (file)
index 0000000..b437d3b
--- /dev/null
@@ -0,0 +1,152 @@
+.\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
+.\"for Debian GNU/Linux
+.TH BZMORE 1
+.SH NAME
+bzmore, bzless \- file perusal filter for crt viewing of bzip2 compressed text
+.SH SYNOPSIS
+.B bzmore
+[ name ...  ]
+.br
+.B bzless
+[ name ...  ]
+.SH NOTE
+In the following description,
+.I bzless
+and
+.I less
+can be used interchangeably with
+.I bzmore
+and
+.I more.
+.SH DESCRIPTION
+.I  Bzmore
+is a filter which allows examination of compressed or plain text files
+one screenful at a time on a soft-copy terminal.
+.I bzmore
+works on files compressed with
+.I bzip2
+and also on uncompressed files.
+If a file does not exist,
+.I bzmore
+looks for a file of the same name with the addition of a .bz2 suffix.
+.PP
+.I Bzmore
+normally pauses after each screenful, printing --More--
+at the bottom of the screen.
+If the user then types a carriage return, one more line is displayed.
+If the user hits a space,
+another screenful is displayed.  Other possibilities are enumerated later.
+.PP
+.I Bzmore
+looks in the file
+.I /etc/termcap
+to determine terminal characteristics,
+and to determine the default window size.
+On a terminal capable of displaying 24 lines,
+the default window size is 22 lines.
+Other sequences which may be typed when
+.I bzmore
+pauses, and their effects, are as follows (\fIi\fP is an optional integer
+argument, defaulting to 1) :
+.PP
+.IP \fIi\|\fP<space>
+display
+.I i
+more lines, (or another screenful if no argument is given)
+.PP
+.IP ^D
+display 11 more lines (a ``scroll'').
+If
+.I i
+is given, then the scroll size is set to \fIi\|\fP.
+.PP
+.IP d
+same as ^D (control-D)
+.PP
+.IP \fIi\|\fPz
+same as typing a space except that \fIi\|\fP, if present, becomes the new
+window size.  Note that the window size reverts back to the default at the
+end of the current file.
+.PP
+.IP \fIi\|\fPs
+skip \fIi\|\fP lines and print a screenful of lines
+.PP
+.IP \fIi\|\fPf
+skip \fIi\fP screenfuls and print a screenful of lines
+.PP
+.IP "q or Q"
+quit reading the current file; go on to the next (if any)
+.PP
+.IP "e or q"
+When the prompt --More--(Next file: 
+.IR file )
+is printed, this command causes bzmore to exit.
+.PP
+.IP s
+When the prompt --More--(Next file: 
+.IR file )
+is printed, this command causes bzmore to skip the next file and continue.
+.PP 
+.IP =
+Display the current line number.
+.PP
+.IP \fIi\|\fP/expr
+search for the \fIi\|\fP-th occurrence of the regular expression \fIexpr.\fP
+If the pattern is not found,
+.I bzmore
+goes on to the next file (if any).
+Otherwise, a screenful is displayed, starting two lines before the place
+where the expression was found.
+The user's erase and kill characters may be used to edit the regular
+expression.
+Erasing back past the first column cancels the search command.
+.PP
+.IP \fIi\|\fPn
+search for the \fIi\|\fP-th occurrence of the last regular expression entered.
+.PP
+.IP !command
+invoke a shell with \fIcommand\|\fP. 
+The character `!' in "command" are replaced with the
+previous shell command.  The sequence "\\!" is replaced by "!".
+.PP
+.IP ":q or :Q"
+quit reading the current file; go on to the next (if any)
+(same as q or Q).
+.PP
+.IP .
+(dot) repeat the previous command.
+.PP
+The commands take effect immediately, i.e., it is not necessary to
+type a carriage return.
+Up to the time when the command character itself is given,
+the user may hit the line kill character to cancel the numerical
+argument being formed.
+In addition, the user may hit the erase character to redisplay the
+--More-- message.
+.PP
+At any time when output is being sent to the terminal, the user can
+hit the quit key (normally control\-\\).
+.I Bzmore
+will stop sending output, and will display the usual --More--
+prompt.
+The user may then enter one of the above commands in the normal manner.
+Unfortunately, some output is lost when this is done, due to the
+fact that any characters waiting in the terminal's output queue
+are flushed when the quit signal occurs.
+.PP
+The terminal is set to
+.I noecho
+mode by this program so that the output can be continuous.
+What you type will thus not show on your terminal, except for the / and !
+commands.
+.PP
+If the standard output is not a teletype, then
+.I bzmore
+acts just like
+.I bzcat,
+except that a header is printed before each file.
+.SH FILES
+.DT
+/etc/termcap           Terminal data base
+.SH "SEE ALSO"
+more(1), less(1), bzip2(1), bzdiff(1), bzgrep(1)
diff --git a/commands/bzip2-1.0.3/compress.c b/commands/bzip2-1.0.3/compress.c
new file mode 100644 (file)
index 0000000..7e0c291
--- /dev/null
@@ -0,0 +1,716 @@
+
+/*-------------------------------------------------------------*/
+/*--- Compression machinery (not incl block sorting)        ---*/
+/*---                                            compress.c ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+/*--
+   CHANGES
+   ~~~~~~~
+   0.9.0 -- original version.
+
+   0.9.0a/b -- no changes in this file.
+
+   0.9.0c
+      * changed setting of nGroups in sendMTFValues() so as to 
+        do a bit better on small files
+--*/
+
+#include "bzlib_private.h"
+
+
+/*---------------------------------------------------*/
+/*--- Bit stream I/O                              ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+void BZ2_bsInitWrite ( EState* s )
+{
+   s->bsLive = 0;
+   s->bsBuff = 0;
+}
+
+
+/*---------------------------------------------------*/
+static
+void bsFinishWrite ( EState* s )
+{
+   while (s->bsLive > 0) {
+      s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);
+      s->numZ++;
+      s->bsBuff <<= 8;
+      s->bsLive -= 8;
+   }
+}
+
+
+/*---------------------------------------------------*/
+#define bsNEEDW(nz)                           \
+{                                             \
+   while (s->bsLive >= 8) {                   \
+      s->zbits[s->numZ]                       \
+         = (UChar)(s->bsBuff >> 24);          \
+      s->numZ++;                              \
+      s->bsBuff <<= 8;                        \
+      s->bsLive -= 8;                         \
+   }                                          \
+}
+
+
+/*---------------------------------------------------*/
+static
+__inline__
+void bsW ( EState* s, Int32 n, UInt32 v )
+{
+   bsNEEDW ( n );
+   s->bsBuff |= (v << (32 - s->bsLive - n));
+   s->bsLive += n;
+}
+
+
+/*---------------------------------------------------*/
+static
+void bsPutUInt32 ( EState* s, UInt32 u )
+{
+   bsW ( s, 8, (u >> 24) & 0xffL );
+   bsW ( s, 8, (u >> 16) & 0xffL );
+   bsW ( s, 8, (u >>  8) & 0xffL );
+   bsW ( s, 8,  u        & 0xffL );
+}
+
+
+/*---------------------------------------------------*/
+static
+void bsPutUChar ( EState* s, UChar c )
+{
+   bsW( s, 8, (UInt32)c );
+}
+
+
+/*---------------------------------------------------*/
+/*--- The back end proper                         ---*/
+/*---------------------------------------------------*/
+
+/*---------------------------------------------------*/
+static
+void makeMaps_e ( EState* s )
+{
+   Int32 i;
+   s->nInUse = 0;
+   for (i = 0; i < 256; i++)
+      if (s->inUse[i]) {
+         s->unseqToSeq[i] = s->nInUse;
+         s->nInUse++;
+      }
+}
+
+
+/*---------------------------------------------------*/
+static
+void generateMTFValues ( EState* s )
+{
+   UChar   yy[256];
+   Int32   i, j;
+   Int32   zPend;
+   Int32   wr;
+   Int32   EOB;
+
+   /* 
+      After sorting (eg, here),
+         s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,
+         and
+         ((UChar*)s->arr2) [ 0 .. s->nblock-1 ] 
+         holds the original block data.
+
+      The first thing to do is generate the MTF values,
+      and put them in
+         ((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].
+      Because there are strictly fewer or equal MTF values
+      than block values, ptr values in this area are overwritten
+      with MTF values only when they are no longer needed.
+
+      The final compressed bitstream is generated into the
+      area starting at
+         (UChar*) (&((UChar*)s->arr2)[s->nblock])
+
+      These storage aliases are set up in bzCompressInit(),
+      except for the last one, which is arranged in 
+      compressBlock().
+   */
+   UInt32* ptr   = s->ptr;
+   UChar* block  = s->block;
+   UInt16* mtfv  = s->mtfv;
+
+   makeMaps_e ( s );
+   EOB = s->nInUse+1;
+
+   for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
+
+   wr = 0;
+   zPend = 0;
+   for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
+
+   for (i = 0; i < s->nblock; i++) {
+      UChar ll_i;
+      AssertD ( wr <= i, "generateMTFValues(1)" );
+      j = ptr[i]-1; if (j < 0) j += s->nblock;
+      ll_i = s->unseqToSeq[block[j]];
+      AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );
+
+      if (yy[0] == ll_i) { 
+         zPend++;
+      } else {
+
+         if (zPend > 0) {
+            zPend--;
+            while (True) {
+               if (zPend & 1) {
+                  mtfv[wr] = BZ_RUNB; wr++; 
+                  s->mtfFreq[BZ_RUNB]++; 
+               } else {
+                  mtfv[wr] = BZ_RUNA; wr++; 
+                  s->mtfFreq[BZ_RUNA]++; 
+               }
+               if (zPend < 2) break;
+               zPend = (zPend - 2) / 2;
+            };
+            zPend = 0;
+         }
+         {
+            register UChar  rtmp;
+            register UChar* ryy_j;
+            register UChar  rll_i;
+            rtmp  = yy[1];
+            yy[1] = yy[0];
+            ryy_j = &(yy[1]);
+            rll_i = ll_i;
+            while ( rll_i != rtmp ) {
+               register UChar rtmp2;
+               ryy_j++;
+               rtmp2  = rtmp;
+               rtmp   = *ryy_j;
+               *ryy_j = rtmp2;
+            };
+            yy[0] = rtmp;
+            j = ryy_j - &(yy[0]);
+            mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;
+         }
+
+      }
+   }
+
+   if (zPend > 0) {
+      zPend--;
+      while (True) {
+         if (zPend & 1) {
+            mtfv[wr] = BZ_RUNB; wr++; 
+            s->mtfFreq[BZ_RUNB]++; 
+         } else {
+            mtfv[wr] = BZ_RUNA; wr++; 
+            s->mtfFreq[BZ_RUNA]++; 
+         }
+         if (zPend < 2) break;
+         zPend = (zPend - 2) / 2;
+      };
+      zPend = 0;
+   }
+
+   mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;
+
+   s->nMTF = wr;
+}
+
+
+/*---------------------------------------------------*/
+#define BZ_LESSER_ICOST  0
+#define BZ_GREATER_ICOST 15
+
+static
+void sendMTFValues ( EState* s )
+{
+   Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
+   Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
+   Int32 nGroups, nBytes;
+
+   /*--
+   UChar  len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+   is a global since the decoder also needs it.
+
+   Int32  code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+   Int32  rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
+   are also globals only used in this proc.
+   Made global to keep stack frame size small.
+   --*/
+
+
+   UInt16 cost[BZ_N_GROUPS];
+   Int32  fave[BZ_N_GROUPS];
+
+   UInt16* mtfv = s->mtfv;
+
+   if (s->verbosity >= 3)
+      VPrintf3( "      %d in block, %d after MTF & 1-2 coding, "
+                "%d+2 syms in use\n", 
+                s->nblock, s->nMTF, s->nInUse );
+
+   alphaSize = s->nInUse+2;
+   for (t = 0; t < BZ_N_GROUPS; t++)
+      for (v = 0; v < alphaSize; v++)
+         s->len[t][v] = BZ_GREATER_ICOST;
+
+   /*--- Decide how many coding tables to use ---*/
+   AssertH ( s->nMTF > 0, 3001 );
+   if (s->nMTF < 200)  nGroups = 2; else
+   if (s->nMTF < 600)  nGroups = 3; else
+   if (s->nMTF < 1200) nGroups = 4; else
+   if (s->nMTF < 2400) nGroups = 5; else
+                       nGroups = 6;
+
+   /*--- Generate an initial set of coding tables ---*/
+   { 
+      Int32 nPart, remF, tFreq, aFreq;
+
+      nPart = nGroups;
+      remF  = s->nMTF;
+      gs = 0;
+      while (nPart > 0) {
+         tFreq = remF / nPart;
+         ge = gs-1;
+         aFreq = 0;
+         while (aFreq < tFreq && ge < alphaSize-1) {
+            ge++;
+            aFreq += s->mtfFreq[ge];
+         }
+
+         if (ge > gs 
+             && nPart != nGroups && nPart != 1 
+             && ((nGroups-nPart) % 2 == 1)) {
+            aFreq -= s->mtfFreq[ge];
+            ge--;
+         }
+
+         if (s->verbosity >= 3)
+            VPrintf5( "      initial group %d, [%d .. %d], "
+                      "has %d syms (%4.1f%%)\n",
+                      nPart, gs, ge, aFreq, 
+                      (100.0 * (float)aFreq) / (float)(s->nMTF) );
+         for (v = 0; v < alphaSize; v++)
+            if (v >= gs && v <= ge) 
+               s->len[nPart-1][v] = BZ_LESSER_ICOST; else
+               s->len[nPart-1][v] = BZ_GREATER_ICOST;
+         nPart--;
+         gs = ge+1;
+         remF -= aFreq;
+      }
+   }
+
+   /*--- 
+      Iterate up to BZ_N_ITERS times to improve the tables.
+   ---*/
+   for (iter = 0; iter < BZ_N_ITERS; iter++) {
+
+      for (t = 0; t < nGroups; t++) fave[t] = 0;
+
+      for (t = 0; t < nGroups; t++)
+         for (v = 0; v < alphaSize; v++)
+            s->rfreq[t][v] = 0;
+
+      /*---
+        Set up an auxiliary length table which is used to fast-track
+       the common case (nGroups == 6). 
+      ---*/
+      if (nGroups == 6) {
+         for (v = 0; v < alphaSize; v++) {
+            s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
+            s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
+            s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
+        }
+      }
+
+      nSelectors = 0;
+      totc = 0;
+      gs = 0;
+      while (True) {
+
+         /*--- Set group start & end marks. --*/
+         if (gs >= s->nMTF) break;
+         ge = gs + BZ_G_SIZE - 1; 
+         if (ge >= s->nMTF) ge = s->nMTF-1;
+
+         /*-- 
+            Calculate the cost of this group as coded
+            by each of the coding tables.
+         --*/
+         for (t = 0; t < nGroups; t++) cost[t] = 0;
+
+         if (nGroups == 6 && 50 == ge-gs+1) {
+            /*--- fast track the common case ---*/
+            register UInt32 cost01, cost23, cost45;
+            register UInt16 icv;
+            cost01 = cost23 = cost45 = 0;
+
+#           define BZ_ITER(nn)                \
+               icv = mtfv[gs+(nn)];           \
+               cost01 += s->len_pack[icv][0]; \
+               cost23 += s->len_pack[icv][1]; \
+               cost45 += s->len_pack[icv][2]; \
+
+            BZ_ITER(0);  BZ_ITER(1);  BZ_ITER(2);  BZ_ITER(3);  BZ_ITER(4);
+            BZ_ITER(5);  BZ_ITER(6);  BZ_ITER(7);  BZ_ITER(8);  BZ_ITER(9);
+            BZ_ITER(10); BZ_ITER(11); BZ_ITER(12); BZ_ITER(13); BZ_ITER(14);
+            BZ_ITER(15); BZ_ITER(16); BZ_ITER(17); BZ_ITER(18); BZ_ITER(19);
+            BZ_ITER(20); BZ_ITER(21); BZ_ITER(22); BZ_ITER(23); BZ_ITER(24);
+            BZ_ITER(25); BZ_ITER(26); BZ_ITER(27); BZ_ITER(28); BZ_ITER(29);
+            BZ_ITER(30); BZ_ITER(31); BZ_ITER(32); BZ_ITER(33); BZ_ITER(34);
+            BZ_ITER(35); BZ_ITER(36); BZ_ITER(37); BZ_ITER(38); BZ_ITER(39);
+            BZ_ITER(40); BZ_ITER(41); BZ_ITER(42); BZ_ITER(43); BZ_ITER(44);
+            BZ_ITER(45); BZ_ITER(46); BZ_ITER(47); BZ_ITER(48); BZ_ITER(49);
+
+#           undef BZ_ITER
+
+            cost[0] = cost01 & 0xffff; cost[1] = cost01 >> 16;
+            cost[2] = cost23 & 0xffff; cost[3] = cost23 >> 16;
+            cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
+
+         } else {
+           /*--- slow version which correctly handles all situations ---*/
+            for (i = gs; i <= ge; i++) { 
+               UInt16 icv = mtfv[i];
+               for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
+            }
+         }
+         /*-- 
+            Find the coding table which is best for this group,
+            and record its identity in the selector table.
+         --*/
+         bc = 999999999; bt = -1;
+         for (t = 0; t < nGroups; t++)
+            if (cost[t] < bc) { bc = cost[t]; bt = t; };
+         totc += bc;
+         fave[bt]++;
+         s->selector[nSelectors] = bt;
+         nSelectors++;
+
+         /*-- 
+            Increment the symbol frequencies for the selected table.
+          --*/
+         if (nGroups == 6 && 50 == ge-gs+1) {
+            /*--- fast track the common case ---*/
+
+#           define BZ_ITUR(nn) s->rfreq[bt][ mtfv[gs+(nn)] ]++
+
+            BZ_ITUR(0);  BZ_ITUR(1);  BZ_ITUR(2);  BZ_ITUR(3);  BZ_ITUR(4);
+            BZ_ITUR(5);  BZ_ITUR(6);  BZ_ITUR(7);  BZ_ITUR(8);  BZ_ITUR(9);
+            BZ_ITUR(10); BZ_ITUR(11); BZ_ITUR(12); BZ_ITUR(13); BZ_ITUR(14);
+            BZ_ITUR(15); BZ_ITUR(16); BZ_ITUR(17); BZ_ITUR(18); BZ_ITUR(19);
+            BZ_ITUR(20); BZ_ITUR(21); BZ_ITUR(22); BZ_ITUR(23); BZ_ITUR(24);
+            BZ_ITUR(25); BZ_ITUR(26); BZ_ITUR(27); BZ_ITUR(28); BZ_ITUR(29);
+            BZ_ITUR(30); BZ_ITUR(31); BZ_ITUR(32); BZ_ITUR(33); BZ_ITUR(34);
+            BZ_ITUR(35); BZ_ITUR(36); BZ_ITUR(37); BZ_ITUR(38); BZ_ITUR(39);
+            BZ_ITUR(40); BZ_ITUR(41); BZ_ITUR(42); BZ_ITUR(43); BZ_ITUR(44);
+            BZ_ITUR(45); BZ_ITUR(46); BZ_ITUR(47); BZ_ITUR(48); BZ_ITUR(49);
+
+#           undef BZ_ITUR
+
+         } else {
+           /*--- slow version which correctly handles all situations ---*/
+            for (i = gs; i <= ge; i++)
+               s->rfreq[bt][ mtfv[i] ]++;
+         }
+
+         gs = ge+1;
+      }
+      if (s->verbosity >= 3) {
+         VPrintf2 ( "      pass %d: size is %d, grp uses are ", 
+                   iter+1, totc/8 );
+         for (t = 0; t < nGroups; t++)
+            VPrintf1 ( "%d ", fave[t] );
+         VPrintf0 ( "\n" );
+      }
+
+      /*--
+        Recompute the tables based on the accumulated frequencies.
+      --*/
+      /* maxLen was changed from 20 to 17 in bzip2-1.0.3.  See 
+         comment in huffman.c for details. */
+      for (t = 0; t < nGroups; t++)
+         BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]), 
+                                 alphaSize, 17 /*20*/ );
+   }
+
+
+   AssertH( nGroups < 8, 3002 );
+   AssertH( nSelectors < 32768 &&
+            nSelectors <= (2 + (900000 / BZ_G_SIZE)),
+            3003 );
+
+
+   /*--- Compute MTF values for the selectors. ---*/
+   {
+      UChar pos[BZ_N_GROUPS], ll_i, tmp2, tmp;
+      for (i = 0; i < nGroups; i++) pos[i] = i;
+      for (i = 0; i < nSelectors; i++) {
+         ll_i = s->selector[i];
+         j = 0;
+         tmp = pos[j];
+         while ( ll_i != tmp ) {
+            j++;
+            tmp2 = tmp;
+            tmp = pos[j];
+            pos[j] = tmp2;
+         };
+         pos[0] = tmp;
+         s->selectorMtf[i] = j;
+      }
+   };
+
+   /*--- Assign actual codes for the tables. --*/
+   for (t = 0; t < nGroups; t++) {
+      minLen = 32;
+      maxLen = 0;
+      for (i = 0; i < alphaSize; i++) {
+         if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
+         if (s->len[t][i] < minLen) minLen = s->len[t][i];
+      }
+      AssertH ( !(maxLen > 17 /*20*/ ), 3004 );
+      AssertH ( !(minLen < 1),  3005 );
+      BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]), 
+                          minLen, maxLen, alphaSize );
+   }
+
+   /*--- Transmit the mapping table. ---*/
+   { 
+      Bool inUse16[16];
+      for (i = 0; i < 16; i++) {
+          inUse16[i] = False;
+          for (j = 0; j < 16; j++)
+             if (s->inUse[i * 16 + j]) inUse16[i] = True;
+      }
+     
+      nBytes = s->numZ;
+      for (i = 0; i < 16; i++)
+         if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
+
+      for (i = 0; i < 16; i++)
+         if (inUse16[i])
+            for (j = 0; j < 16; j++) {
+               if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
+            }
+
+      if (s->verbosity >= 3) 
+         VPrintf1( "      bytes: mapping %d, ", s->numZ-nBytes );
+   }
+
+   /*--- Now the selectors. ---*/
+   nBytes = s->numZ;
+   bsW ( s, 3, nGroups );
+   bsW ( s, 15, nSelectors );
+   for (i = 0; i < nSelectors; i++) { 
+      for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
+      bsW(s,1,0);
+   }
+   if (s->verbosity >= 3)
+      VPrintf1( "selectors %d, ", s->numZ-nBytes );
+
+   /*--- Now the coding tables. ---*/
+   nBytes = s->numZ;
+
+   for (t = 0; t < nGroups; t++) {
+      Int32 curr = s->len[t][0];
+      bsW ( s, 5, curr );
+      for (i = 0; i < alphaSize; i++) {
+         while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
+         while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
+         bsW ( s, 1, 0 );
+      }
+   }
+
+   if (s->verbosity >= 3)
+      VPrintf1 ( "code lengths %d, ", s->numZ-nBytes );
+
+   /*--- And finally, the block data proper ---*/
+   nBytes = s->numZ;
+   selCtr = 0;
+   gs = 0;
+   while (True) {
+      if (gs >= s->nMTF) break;
+      ge = gs + BZ_G_SIZE - 1; 
+      if (ge >= s->nMTF) ge = s->nMTF-1;
+      AssertH ( s->selector[selCtr] < nGroups, 3006 );
+
+      if (nGroups == 6 && 50 == ge-gs+1) {
+            /*--- fast track the common case ---*/
+            UInt16 mtfv_i;
+            UChar* s_len_sel_selCtr 
+               = &(s->len[s->selector[selCtr]][0]);
+            Int32* s_code_sel_selCtr
+               = &(s->code[s->selector[selCtr]][0]);
+
+#           define BZ_ITAH(nn)                      \
+               mtfv_i = mtfv[gs+(nn)];              \
+               bsW ( s,                             \
+                     s_len_sel_selCtr[mtfv_i],      \
+                     s_code_sel_selCtr[mtfv_i] )
+
+            BZ_ITAH(0);  BZ_ITAH(1);  BZ_ITAH(2);  BZ_ITAH(3);  BZ_ITAH(4);
+            BZ_ITAH(5);  BZ_ITAH(6);  BZ_ITAH(7);  BZ_ITAH(8);  BZ_ITAH(9);
+            BZ_ITAH(10); BZ_ITAH(11); BZ_ITAH(12); BZ_ITAH(13); BZ_ITAH(14);
+            BZ_ITAH(15); BZ_ITAH(16); BZ_ITAH(17); BZ_ITAH(18); BZ_ITAH(19);
+            BZ_ITAH(20); BZ_ITAH(21); BZ_ITAH(22); BZ_ITAH(23); BZ_ITAH(24);
+            BZ_ITAH(25); BZ_ITAH(26); BZ_ITAH(27); BZ_ITAH(28); BZ_ITAH(29);
+            BZ_ITAH(30); BZ_ITAH(31); BZ_ITAH(32); BZ_ITAH(33); BZ_ITAH(34);
+            BZ_ITAH(35); BZ_ITAH(36); BZ_ITAH(37); BZ_ITAH(38); BZ_ITAH(39);
+            BZ_ITAH(40); BZ_ITAH(41); BZ_ITAH(42); BZ_ITAH(43); BZ_ITAH(44);
+            BZ_ITAH(45); BZ_ITAH(46); BZ_ITAH(47); BZ_ITAH(48); BZ_ITAH(49);
+
+#           undef BZ_ITAH
+
+      } else {
+        /*--- slow version which correctly handles all situations ---*/
+         for (i = gs; i <= ge; i++) {
+            bsW ( s, 
+                  s->len  [s->selector[selCtr]] [mtfv[i]],
+                  s->code [s->selector[selCtr]] [mtfv[i]] );
+         }
+      }
+
+
+      gs = ge+1;
+      selCtr++;
+   }
+   AssertH( selCtr == nSelectors, 3007 );
+
+   if (s->verbosity >= 3)
+      VPrintf1( "codes %d\n", s->numZ-nBytes );
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_compressBlock ( EState* s, Bool is_last_block )
+{
+   if (s->nblock > 0) {
+
+      BZ_FINALISE_CRC ( s->blockCRC );
+      s->combinedCRC = (s->combinedCRC << 1) | (s->combinedCRC >> 31);
+      s->combinedCRC ^= s->blockCRC;
+      if (s->blockNo > 1) s->numZ = 0;
+
+      if (s->verbosity >= 2)
+         VPrintf4( "    block %d: crc = 0x%08x, "
+                   "combined CRC = 0x%08x, size = %d\n",
+                   s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
+
+      BZ2_blockSort ( s );
+   }
+
+   s->zbits = (UChar*) (&((UChar*)s->arr2)[s->nblock]);
+
+   /*-- If this is the first block, create the stream header. --*/
+   if (s->blockNo == 1) {
+      BZ2_bsInitWrite ( s );
+      bsPutUChar ( s, BZ_HDR_B );
+      bsPutUChar ( s, BZ_HDR_Z );
+      bsPutUChar ( s, BZ_HDR_h );
+      bsPutUChar ( s, (UChar)(BZ_HDR_0 + s->blockSize100k) );
+   }
+
+   if (s->nblock > 0) {
+
+      bsPutUChar ( s, 0x31 ); bsPutUChar ( s, 0x41 );
+      bsPutUChar ( s, 0x59 ); bsPutUChar ( s, 0x26 );
+      bsPutUChar ( s, 0x53 ); bsPutUChar ( s, 0x59 );
+
+      /*-- Now the block's CRC, so it is in a known place. --*/
+      bsPutUInt32 ( s, s->blockCRC );
+
+      /*-- 
+         Now a single bit indicating (non-)randomisation. 
+         As of version 0.9.5, we use a better sorting algorithm
+         which makes randomisation unnecessary.  So always set
+         the randomised bit to 'no'.  Of course, the decoder
+         still needs to be able to handle randomised blocks
+         so as to maintain backwards compatibility with
+         older versions of bzip2.
+      --*/
+      bsW(s,1,0);
+
+      bsW ( s, 24, s->origPtr );
+      generateMTFValues ( s );
+      sendMTFValues ( s );
+   }
+
+
+   /*-- If this is the last block, add the stream trailer. --*/
+   if (is_last_block) {
+
+      bsPutUChar ( s, 0x17 ); bsPutUChar ( s, 0x72 );
+      bsPutUChar ( s, 0x45 ); bsPutUChar ( s, 0x38 );
+      bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
+      bsPutUInt32 ( s, s->combinedCRC );
+      if (s->verbosity >= 2)
+         VPrintf1( "    final combined CRC = 0x%08x\n   ", s->combinedCRC );
+      bsFinishWrite ( s );
+   }
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                        compress.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/crctable.c b/commands/bzip2-1.0.3/crctable.c
new file mode 100644 (file)
index 0000000..b6dadfc
--- /dev/null
@@ -0,0 +1,144 @@
+
+/*-------------------------------------------------------------*/
+/*--- Table for doing CRCs                                  ---*/
+/*---                                            crctable.c ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+
+#include "bzlib_private.h"
+
+/*--
+  I think this is an implementation of the AUTODIN-II,
+  Ethernet & FDDI 32-bit CRC standard.  Vaguely derived
+  from code by Rob Warnock, in Section 51 of the
+  comp.compression FAQ.
+--*/
+
+UInt32 BZ2_crc32Table[256] = {
+
+   /*-- Ugly, innit? --*/
+
+   0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
+   0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
+   0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
+   0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
+   0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
+   0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
+   0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
+   0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
+   0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
+   0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
+   0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
+   0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
+   0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
+   0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
+   0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
+   0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
+   0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
+   0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
+   0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
+   0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
+   0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
+   0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
+   0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
+   0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
+   0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
+   0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
+   0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
+   0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
+   0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
+   0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
+   0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
+   0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
+   0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
+   0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
+   0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
+   0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
+   0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
+   0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
+   0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
+   0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
+   0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
+   0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
+   0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
+   0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
+   0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
+   0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
+   0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
+   0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
+   0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
+   0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
+   0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
+   0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
+   0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
+   0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
+   0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
+   0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
+   0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
+   0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
+   0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
+   0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
+   0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
+   0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
+   0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
+   0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
+};
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                        crctable.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/decompress.c b/commands/bzip2-1.0.3/decompress.c
new file mode 100644 (file)
index 0000000..81c3d2c
--- /dev/null
@@ -0,0 +1,666 @@
+
+/*-------------------------------------------------------------*/
+/*--- Decompression machinery                               ---*/
+/*---                                          decompress.c ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+
+#include "bzlib_private.h"
+
+
+/*---------------------------------------------------*/
+static
+void makeMaps_d ( DState* s )
+{
+   Int32 i;
+   s->nInUse = 0;
+   for (i = 0; i < 256; i++)
+      if (s->inUse[i]) {
+         s->seqToUnseq[s->nInUse] = i;
+         s->nInUse++;
+      }
+}
+
+
+/*---------------------------------------------------*/
+#define RETURN(rrr)                               \
+   { retVal = rrr; goto save_state_and_return; };
+
+#define GET_BITS(lll,vvv,nnn)                     \
+   case lll: s->state = lll;                      \
+   while (True) {                                 \
+      if (s->bsLive >= nnn) {                     \
+         UInt32 v;                                \
+         v = (s->bsBuff >>                        \
+             (s->bsLive-nnn)) & ((1 << nnn)-1);   \
+         s->bsLive -= nnn;                        \
+         vvv = v;                                 \
+         break;                                   \
+      }                                           \
+      if (s->strm->avail_in == 0) RETURN(BZ_OK);  \
+      s->bsBuff                                   \
+         = (s->bsBuff << 8) |                     \
+           ((UInt32)                              \
+              (*((UChar*)(s->strm->next_in))));   \
+      s->bsLive += 8;                             \
+      s->strm->next_in++;                         \
+      s->strm->avail_in--;                        \
+      s->strm->total_in_lo32++;                   \
+      if (s->strm->total_in_lo32 == 0)            \
+         s->strm->total_in_hi32++;                \
+   }
+
+#define GET_UCHAR(lll,uuu)                        \
+   GET_BITS(lll,uuu,8)
+
+#define GET_BIT(lll,uuu)                          \
+   GET_BITS(lll,uuu,1)
+
+/*---------------------------------------------------*/
+#define GET_MTF_VAL(label1,label2,lval)           \
+{                                                 \
+   if (groupPos == 0) {                           \
+      groupNo++;                                  \
+      if (groupNo >= nSelectors)                  \
+         RETURN(BZ_DATA_ERROR);                   \
+      groupPos = BZ_G_SIZE;                       \
+      gSel = s->selector[groupNo];                \
+      gMinlen = s->minLens[gSel];                 \
+      gLimit = &(s->limit[gSel][0]);              \
+      gPerm = &(s->perm[gSel][0]);                \
+      gBase = &(s->base[gSel][0]);                \
+   }                                              \
+   groupPos--;                                    \
+   zn = gMinlen;                                  \
+   GET_BITS(label1, zvec, zn);                    \
+   while (1) {                                    \
+      if (zn > 20 /* the longest code */)         \
+         RETURN(BZ_DATA_ERROR);                   \
+      if (zvec <= gLimit[zn]) break;              \
+      zn++;                                       \
+      GET_BIT(label2, zj);                        \
+      zvec = (zvec << 1) | zj;                    \
+   };                                             \
+   if (zvec - gBase[zn] < 0                       \
+       || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE)  \
+      RETURN(BZ_DATA_ERROR);                      \
+   lval = gPerm[zvec - gBase[zn]];                \
+}
+
+
+/*---------------------------------------------------*/
+Int32 BZ2_decompress ( DState* s )
+{
+   UChar      uc;
+   Int32      retVal;
+   Int32      minLen, maxLen;
+   bz_stream* strm = s->strm;
+
+   /* stuff that needs to be saved/restored */
+   Int32  i;
+   Int32  j;
+   Int32  t;
+   Int32  alphaSize;
+   Int32  nGroups;
+   Int32  nSelectors;
+   Int32  EOB;
+   Int32  groupNo;
+   Int32  groupPos;
+   Int32  nextSym;
+   Int32  nblockMAX;
+   Int32  nblock;
+   Int32  es;
+   Int32  N;
+   Int32  curr;
+   Int32  zt;
+   Int32  zn; 
+   Int32  zvec;
+   Int32  zj;
+   Int32  gSel;
+   Int32  gMinlen;
+   Int32* gLimit;
+   Int32* gBase;
+   Int32* gPerm;
+
+   if (s->state == BZ_X_MAGIC_1) {
+      /*initialise the save area*/
+      s->save_i           = 0;
+      s->save_j           = 0;
+      s->save_t           = 0;
+      s->save_alphaSize   = 0;
+      s->save_nGroups     = 0;
+      s->save_nSelectors  = 0;
+      s->save_EOB         = 0;
+      s->save_groupNo     = 0;
+      s->save_groupPos    = 0;
+      s->save_nextSym     = 0;
+      s->save_nblockMAX   = 0;
+      s->save_nblock      = 0;
+      s->save_es          = 0;
+      s->save_N           = 0;
+      s->save_curr        = 0;
+      s->save_zt          = 0;
+      s->save_zn          = 0;
+      s->save_zvec        = 0;
+      s->save_zj          = 0;
+      s->save_gSel        = 0;
+      s->save_gMinlen     = 0;
+      s->save_gLimit      = NULL;
+      s->save_gBase       = NULL;
+      s->save_gPerm       = NULL;
+   }
+
+   /*restore from the save area*/
+   i           = s->save_i;
+   j           = s->save_j;
+   t           = s->save_t;
+   alphaSize   = s->save_alphaSize;
+   nGroups     = s->save_nGroups;
+   nSelectors  = s->save_nSelectors;
+   EOB         = s->save_EOB;
+   groupNo     = s->save_groupNo;
+   groupPos    = s->save_groupPos;
+   nextSym     = s->save_nextSym;
+   nblockMAX   = s->save_nblockMAX;
+   nblock      = s->save_nblock;
+   es          = s->save_es;
+   N           = s->save_N;
+   curr        = s->save_curr;
+   zt          = s->save_zt;
+   zn          = s->save_zn; 
+   zvec        = s->save_zvec;
+   zj          = s->save_zj;
+   gSel        = s->save_gSel;
+   gMinlen     = s->save_gMinlen;
+   gLimit      = s->save_gLimit;
+   gBase       = s->save_gBase;
+   gPerm       = s->save_gPerm;
+
+   retVal = BZ_OK;
+
+   switch (s->state) {
+
+      GET_UCHAR(BZ_X_MAGIC_1, uc);
+      if (uc != BZ_HDR_B) RETURN(BZ_DATA_ERROR_MAGIC);
+
+      GET_UCHAR(BZ_X_MAGIC_2, uc);
+      if (uc != BZ_HDR_Z) RETURN(BZ_DATA_ERROR_MAGIC);
+
+      GET_UCHAR(BZ_X_MAGIC_3, uc)
+      if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC);
+
+      GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
+      if (s->blockSize100k < (BZ_HDR_0 + 1) || 
+          s->blockSize100k > (BZ_HDR_0 + 9)) RETURN(BZ_DATA_ERROR_MAGIC);
+      s->blockSize100k -= BZ_HDR_0;
+
+      if (s->smallDecompress) {
+         s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
+         s->ll4  = BZALLOC( 
+                      ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar) 
+                   );
+         if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
+      } else {
+         s->tt  = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
+         if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
+      }
+
+      GET_UCHAR(BZ_X_BLKHDR_1, uc);
+
+      if (uc == 0x17) goto endhdr_2;
+      if (uc != 0x31) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_2, uc);
+      if (uc != 0x41) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_3, uc);
+      if (uc != 0x59) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_4, uc);
+      if (uc != 0x26) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_5, uc);
+      if (uc != 0x53) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_BLKHDR_6, uc);
+      if (uc != 0x59) RETURN(BZ_DATA_ERROR);
+
+      s->currBlockNo++;
+      if (s->verbosity >= 2)
+         VPrintf1 ( "\n    [%d: huff+mtf ", s->currBlockNo );
+      s->storedBlockCRC = 0;
+      GET_UCHAR(BZ_X_BCRC_1, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_BCRC_2, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_BCRC_3, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_BCRC_4, uc);
+      s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
+
+      GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
+
+      s->origPtr = 0;
+      GET_UCHAR(BZ_X_ORIGPTR_1, uc);
+      s->origPtr = (s->origPtr << 8) | ((Int32)uc);
+      GET_UCHAR(BZ_X_ORIGPTR_2, uc);
+      s->origPtr = (s->origPtr << 8) | ((Int32)uc);
+      GET_UCHAR(BZ_X_ORIGPTR_3, uc);
+      s->origPtr = (s->origPtr << 8) | ((Int32)uc);
+
+      if (s->origPtr < 0)
+         RETURN(BZ_DATA_ERROR);
+      if (s->origPtr > 10 + 100000*s->blockSize100k) 
+         RETURN(BZ_DATA_ERROR);
+
+      /*--- Receive the mapping table ---*/
+      for (i = 0; i < 16; i++) {
+         GET_BIT(BZ_X_MAPPING_1, uc);
+         if (uc == 1) 
+            s->inUse16[i] = True; else 
+            s->inUse16[i] = False;
+      }
+
+      for (i = 0; i < 256; i++) s->inUse[i] = False;
+
+      for (i = 0; i < 16; i++)
+         if (s->inUse16[i])
+            for (j = 0; j < 16; j++) {
+               GET_BIT(BZ_X_MAPPING_2, uc);
+               if (uc == 1) s->inUse[i * 16 + j] = True;
+            }
+      makeMaps_d ( s );
+      if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
+      alphaSize = s->nInUse+2;
+
+      /*--- Now the selectors ---*/
+      GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
+      if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
+      GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
+      if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
+      for (i = 0; i < nSelectors; i++) {
+         j = 0;
+         while (True) {
+            GET_BIT(BZ_X_SELECTOR_3, uc);
+            if (uc == 0) break;
+            j++;
+            if (j >= nGroups) RETURN(BZ_DATA_ERROR);
+         }
+         s->selectorMtf[i] = j;
+      }
+
+      /*--- Undo the MTF values for the selectors. ---*/
+      {
+         UChar pos[BZ_N_GROUPS], tmp, v;
+         for (v = 0; v < nGroups; v++) pos[v] = v;
+   
+         for (i = 0; i < nSelectors; i++) {
+            v = s->selectorMtf[i];
+            tmp = pos[v];
+            while (v > 0) { pos[v] = pos[v-1]; v--; }
+            pos[0] = tmp;
+            s->selector[i] = tmp;
+         }
+      }
+
+      /*--- Now the coding tables ---*/
+      for (t = 0; t < nGroups; t++) {
+         GET_BITS(BZ_X_CODING_1, curr, 5);
+         for (i = 0; i < alphaSize; i++) {
+            while (True) {
+               if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
+               GET_BIT(BZ_X_CODING_2, uc);
+               if (uc == 0) break;
+               GET_BIT(BZ_X_CODING_3, uc);
+               if (uc == 0) curr++; else curr--;
+            }
+            s->len[t][i] = curr;
+         }
+      }
+
+      /*--- Create the Huffman decoding tables ---*/
+      for (t = 0; t < nGroups; t++) {
+         minLen = 32;
+         maxLen = 0;
+         for (i = 0; i < alphaSize; i++) {
+            if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
+            if (s->len[t][i] < minLen) minLen = s->len[t][i];
+         }
+         BZ2_hbCreateDecodeTables ( 
+            &(s->limit[t][0]), 
+            &(s->base[t][0]), 
+            &(s->perm[t][0]), 
+            &(s->len[t][0]),
+            minLen, maxLen, alphaSize
+         );
+         s->minLens[t] = minLen;
+      }
+
+      /*--- Now the MTF values ---*/
+
+      EOB      = s->nInUse+1;
+      nblockMAX = 100000 * s->blockSize100k;
+      groupNo  = -1;
+      groupPos = 0;
+
+      for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
+
+      /*-- MTF init --*/
+      {
+         Int32 ii, jj, kk;
+         kk = MTFA_SIZE-1;
+         for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
+            for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
+               s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
+               kk--;
+            }
+            s->mtfbase[ii] = kk + 1;
+         }
+      }
+      /*-- end MTF init --*/
+
+      nblock = 0;
+      GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
+
+      while (True) {
+
+         if (nextSym == EOB) break;
+
+         if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
+
+            es = -1;
+            N = 1;
+            do {
+               if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
+               if (nextSym == BZ_RUNB) es = es + (1+1) * N;
+               N = N * 2;
+               GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
+            }
+               while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
+
+            es++;
+            uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
+            s->unzftab[uc] += es;
+
+            if (s->smallDecompress)
+               while (es > 0) {
+                  if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
+                  s->ll16[nblock] = (UInt16)uc;
+                  nblock++;
+                  es--;
+               }
+            else
+               while (es > 0) {
+                  if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
+                  s->tt[nblock] = (UInt32)uc;
+                  nblock++;
+                  es--;
+               };
+
+            continue;
+
+         } else {
+
+            if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
+
+            /*-- uc = MTF ( nextSym-1 ) --*/
+            {
+               Int32 ii, jj, kk, pp, lno, off;
+               UInt32 nn;
+               nn = (UInt32)(nextSym - 1);
+
+               if (nn < MTFL_SIZE) {
+                  /* avoid general-case expense */
+                  pp = s->mtfbase[0];
+                  uc = s->mtfa[pp+nn];
+                  while (nn > 3) {
+                     Int32 z = pp+nn;
+                     s->mtfa[(z)  ] = s->mtfa[(z)-1];
+                     s->mtfa[(z)-1] = s->mtfa[(z)-2];
+                     s->mtfa[(z)-2] = s->mtfa[(z)-3];
+                     s->mtfa[(z)-3] = s->mtfa[(z)-4];
+                     nn -= 4;
+                  }
+                  while (nn > 0) { 
+                     s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--; 
+                  };
+                  s->mtfa[pp] = uc;
+               } else { 
+                  /* general case */
+                  lno = nn / MTFL_SIZE;
+                  off = nn % MTFL_SIZE;
+                  pp = s->mtfbase[lno] + off;
+                  uc = s->mtfa[pp];
+                  while (pp > s->mtfbase[lno]) { 
+                     s->mtfa[pp] = s->mtfa[pp-1]; pp--; 
+                  };
+                  s->mtfbase[lno]++;
+                  while (lno > 0) {
+                     s->mtfbase[lno]--;
+                     s->mtfa[s->mtfbase[lno]] 
+                        = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
+                     lno--;
+                  }
+                  s->mtfbase[0]--;
+                  s->mtfa[s->mtfbase[0]] = uc;
+                  if (s->mtfbase[0] == 0) {
+                     kk = MTFA_SIZE-1;
+                     for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
+                        for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
+                           s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
+                           kk--;
+                        }
+                        s->mtfbase[ii] = kk + 1;
+                     }
+                  }
+               }
+            }
+            /*-- end uc = MTF ( nextSym-1 ) --*/
+
+            s->unzftab[s->seqToUnseq[uc]]++;
+            if (s->smallDecompress)
+               s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
+               s->tt[nblock]   = (UInt32)(s->seqToUnseq[uc]);
+            nblock++;
+
+            GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
+            continue;
+         }
+      }
+
+      /* Now we know what nblock is, we can do a better sanity
+         check on s->origPtr.
+      */
+      if (s->origPtr < 0 || s->origPtr >= nblock)
+         RETURN(BZ_DATA_ERROR);
+
+      /*-- Set up cftab to facilitate generation of T^(-1) --*/
+      s->cftab[0] = 0;
+      for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
+      for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
+      for (i = 0; i <= 256; i++) {
+         if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
+            /* s->cftab[i] can legitimately be == nblock */
+            RETURN(BZ_DATA_ERROR);
+         }
+      }
+
+      s->state_out_len = 0;
+      s->state_out_ch  = 0;
+      BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
+      s->state = BZ_X_OUTPUT;
+      if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
+
+      if (s->smallDecompress) {
+
+         /*-- Make a copy of cftab, used in generation of T --*/
+         for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
+
+         /*-- compute the T vector --*/
+         for (i = 0; i < nblock; i++) {
+            uc = (UChar)(s->ll16[i]);
+            SET_LL(i, s->cftabCopy[uc]);
+            s->cftabCopy[uc]++;
+         }
+
+         /*-- Compute T^(-1) by pointer reversal on T --*/
+         i = s->origPtr;
+         j = GET_LL(i);
+         do {
+            Int32 tmp = GET_LL(j);
+            SET_LL(j, i);
+            i = j;
+            j = tmp;
+         }
+            while (i != s->origPtr);
+
+         s->tPos = s->origPtr;
+         s->nblock_used = 0;
+         if (s->blockRandomised) {
+            BZ_RAND_INIT_MASK;
+            BZ_GET_SMALL(s->k0); s->nblock_used++;
+            BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK; 
+         } else {
+            BZ_GET_SMALL(s->k0); s->nblock_used++;
+         }
+
+      } else {
+
+         /*-- compute the T^(-1) vector --*/
+         for (i = 0; i < nblock; i++) {
+            uc = (UChar)(s->tt[i] & 0xff);
+            s->tt[s->cftab[uc]] |= (i << 8);
+            s->cftab[uc]++;
+         }
+
+         s->tPos = s->tt[s->origPtr] >> 8;
+         s->nblock_used = 0;
+         if (s->blockRandomised) {
+            BZ_RAND_INIT_MASK;
+            BZ_GET_FAST(s->k0); s->nblock_used++;
+            BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK; 
+         } else {
+            BZ_GET_FAST(s->k0); s->nblock_used++;
+         }
+
+      }
+
+      RETURN(BZ_OK);
+
+
+
+    endhdr_2:
+
+      GET_UCHAR(BZ_X_ENDHDR_2, uc);
+      if (uc != 0x72) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_3, uc);
+      if (uc != 0x45) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_4, uc);
+      if (uc != 0x38) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_5, uc);
+      if (uc != 0x50) RETURN(BZ_DATA_ERROR);
+      GET_UCHAR(BZ_X_ENDHDR_6, uc);
+      if (uc != 0x90) RETURN(BZ_DATA_ERROR);
+
+      s->storedCombinedCRC = 0;
+      GET_UCHAR(BZ_X_CCRC_1, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_CCRC_2, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_CCRC_3, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+      GET_UCHAR(BZ_X_CCRC_4, uc);
+      s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+
+      s->state = BZ_X_IDLE;
+      RETURN(BZ_STREAM_END);
+
+      default: AssertH ( False, 4001 );
+   }
+
+   AssertH ( False, 4002 );
+
+   save_state_and_return:
+
+   s->save_i           = i;
+   s->save_j           = j;
+   s->save_t           = t;
+   s->save_alphaSize   = alphaSize;
+   s->save_nGroups     = nGroups;
+   s->save_nSelectors  = nSelectors;
+   s->save_EOB         = EOB;
+   s->save_groupNo     = groupNo;
+   s->save_groupPos    = groupPos;
+   s->save_nextSym     = nextSym;
+   s->save_nblockMAX   = nblockMAX;
+   s->save_nblock      = nblock;
+   s->save_es          = es;
+   s->save_N           = N;
+   s->save_curr        = curr;
+   s->save_zt          = zt;
+   s->save_zn          = zn;
+   s->save_zvec        = zvec;
+   s->save_zj          = zj;
+   s->save_gSel        = gSel;
+   s->save_gMinlen     = gMinlen;
+   s->save_gLimit      = gLimit;
+   s->save_gBase       = gBase;
+   s->save_gPerm       = gPerm;
+
+   return retVal;   
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                      decompress.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/dlltest.c b/commands/bzip2-1.0.3/dlltest.c
new file mode 100644 (file)
index 0000000..2d7dcca
--- /dev/null
@@ -0,0 +1,176 @@
+/*\r
+   minibz2\r
+      libbz2.dll test program.\r
+      by Yoshioka Tsuneo(QWF00133@nifty.ne.jp/tsuneo-y@is.aist-nara.ac.jp)\r
+      This file is Public Domain.\r
+      welcome any email to me.\r
+\r
+   usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]\r
+*/\r
+\r
+#define BZ_IMPORT\r
+#include <stdio.h>\r
+#include <stdlib.h>\r
+#include "bzlib.h"\r
+#ifdef _WIN32\r
+#include <io.h>\r
+#endif\r
+\r
+\r
+#ifdef _WIN32\r
+\r
+#define BZ2_LIBNAME "libbz2-1.0.2.DLL" \r
+\r
+#include <windows.h>\r
+static int BZ2DLLLoaded = 0;\r
+static HINSTANCE BZ2DLLhLib;\r
+int BZ2DLLLoadLibrary(void)\r
+{\r
+   HINSTANCE hLib;\r
+\r
+   if(BZ2DLLLoaded==1){return 0;}\r
+   hLib=LoadLibrary(BZ2_LIBNAME);\r
+   if(hLib == NULL){\r
+      fprintf(stderr,"Can't load %s\n",BZ2_LIBNAME);\r
+      return -1;\r
+   }\r
+   BZ2_bzlibVersion=GetProcAddress(hLib,"BZ2_bzlibVersion");\r
+   BZ2_bzopen=GetProcAddress(hLib,"BZ2_bzopen");\r
+   BZ2_bzdopen=GetProcAddress(hLib,"BZ2_bzdopen");\r
+   BZ2_bzread=GetProcAddress(hLib,"BZ2_bzread");\r
+   BZ2_bzwrite=GetProcAddress(hLib,"BZ2_bzwrite");\r
+   BZ2_bzflush=GetProcAddress(hLib,"BZ2_bzflush");\r
+   BZ2_bzclose=GetProcAddress(hLib,"BZ2_bzclose");\r
+   BZ2_bzerror=GetProcAddress(hLib,"BZ2_bzerror");\r
+\r
+   if (!BZ2_bzlibVersion || !BZ2_bzopen || !BZ2_bzdopen\r
+       || !BZ2_bzread || !BZ2_bzwrite || !BZ2_bzflush\r
+       || !BZ2_bzclose || !BZ2_bzerror) {\r
+      fprintf(stderr,"GetProcAddress failed.\n");\r
+      return -1;\r
+   }\r
+   BZ2DLLLoaded=1;\r
+   BZ2DLLhLib=hLib;\r
+   return 0;\r
+\r
+}\r
+int BZ2DLLFreeLibrary(void)\r
+{\r
+   if(BZ2DLLLoaded==0){return 0;}\r
+   FreeLibrary(BZ2DLLhLib);\r
+   BZ2DLLLoaded=0;\r
+}\r
+#endif /* WIN32 */\r
+\r
+void usage(void)\r
+{\r
+   puts("usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]");\r
+}\r
+\r
+int main(int argc,char *argv[])\r
+{\r
+   int decompress = 0;\r
+   int level = 9;\r
+   char *fn_r = NULL;\r
+   char *fn_w = NULL;\r
+\r
+#ifdef _WIN32\r
+   if(BZ2DLLLoadLibrary()<0){\r
+      fprintf(stderr,"Loading of %s failed.  Giving up.\n", BZ2_LIBNAME);\r
+      exit(1);\r
+   }\r
+   printf("Loading of %s succeeded.  Library version is %s.\n",\r
+          BZ2_LIBNAME, BZ2_bzlibVersion() );\r
+#endif\r
+   while(++argv,--argc){\r
+      if(**argv =='-' || **argv=='/'){\r
+         char *p;\r
+\r
+         for(p=*argv+1;*p;p++){\r
+            if(*p=='d'){\r
+               decompress = 1;\r
+            }else if('1'<=*p && *p<='9'){\r
+               level = *p - '0';\r
+            }else{\r
+               usage();\r
+               exit(1);\r
+            }\r
+         }\r
+      }else{\r
+         break;\r
+      }\r
+   }\r
+   if(argc>=1){\r
+      fn_r = *argv;\r
+      argc--;argv++;\r
+   }else{\r
+      fn_r = NULL;\r
+   }\r
+   if(argc>=1){\r
+      fn_w = *argv;\r
+      argc--;argv++;\r
+   }else{\r
+      fn_w = NULL;\r
+   }\r
+   {\r
+      int len;\r
+      char buff[0x1000];\r
+      char mode[10];\r
+\r
+      if(decompress){\r
+         BZFILE *BZ2fp_r = NULL;\r
+         FILE *fp_w = NULL;\r
+\r
+         if(fn_w){\r
+            if((fp_w = fopen(fn_w,"wb"))==NULL){\r
+               printf("can't open [%s]\n",fn_w);\r
+               perror("reason:");\r
+               exit(1);\r
+            }\r
+         }else{\r
+            fp_w = stdout;\r
+         }\r
+         if((fn_r == NULL && (BZ2fp_r = BZ2_bzdopen(fileno(stdin),"rb"))==NULL)\r
+            || (fn_r != NULL && (BZ2fp_r = BZ2_bzopen(fn_r,"rb"))==NULL)){\r
+            printf("can't bz2openstream\n");\r
+            exit(1);\r
+         }\r
+         while((len=BZ2_bzread(BZ2fp_r,buff,0x1000))>0){\r
+            fwrite(buff,1,len,fp_w);\r
+         }\r
+         BZ2_bzclose(BZ2fp_r);\r
+         if(fp_w != stdout) fclose(fp_w);\r
+      }else{\r
+         BZFILE *BZ2fp_w = NULL;\r
+         FILE *fp_r = NULL;\r
+\r
+         if(fn_r){\r
+            if((fp_r = fopen(fn_r,"rb"))==NULL){\r
+               printf("can't open [%s]\n",fn_r);\r
+               perror("reason:");\r
+               exit(1);\r
+            }\r
+         }else{\r
+            fp_r = stdin;\r
+         }\r
+         mode[0]='w';\r
+         mode[1] = '0' + level;\r
+         mode[2] = '\0';\r
+\r
+         if((fn_w == NULL && (BZ2fp_w = BZ2_bzdopen(fileno(stdout),mode))==NULL)\r
+            || (fn_w !=NULL && (BZ2fp_w = BZ2_bzopen(fn_w,mode))==NULL)){\r
+            printf("can't bz2openstream\n");\r
+            exit(1);\r
+         }\r
+         while((len=fread(buff,1,0x1000,fp_r))>0){\r
+            BZ2_bzwrite(BZ2fp_w,buff,len);\r
+         }\r
+         BZ2_bzclose(BZ2fp_w);\r
+         if(fp_r!=stdin)fclose(fp_r);\r
+      }\r
+   }\r
+#ifdef _WIN32\r
+   BZ2DLLFreeLibrary();\r
+#endif\r
+   return 0;\r
+}\r
diff --git a/commands/bzip2-1.0.3/dlltest.dsp b/commands/bzip2-1.0.3/dlltest.dsp
new file mode 100644 (file)
index 0000000..4b1615e
--- /dev/null
@@ -0,0 +1,93 @@
+# Microsoft Developer Studio Project File - Name="dlltest" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 5.00\r
+# ** \95Ò\8fW\82µ\82È\82¢\82Å\82­\82¾\82³\82¢ **\r
+\r
+# TARGTYPE "Win32 (x86) Console Application" 0x0103\r
+\r
+CFG=dlltest - Win32 Debug\r
+!MESSAGE \82±\82ê\82Í\97L\8cø\82ÈÒ²¸Ì§²Ù\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81\82±\82ÌÌßÛ¼Þª¸Ä\82ðËÞÙÄÞ\82·\82é\82½\82ß\82É\82Í NMAKE \82ð\8eg\97p\82µ\82Ä\82­\82¾\82³\82¢\81B\r
+!MESSAGE [Ò²¸Ì§²Ù\82Ì´¸½Îß°Ä] ºÏÝÄÞ\82ð\8eg\97p\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82­\82¾\82³\82¢\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "dlltest.mak".\r
+!MESSAGE \r
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·\r
+!MESSAGE ºÏÝÄޠײÝ\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "dlltest.mak" CFG="dlltest - Win32 Debug"\r
+!MESSAGE \r
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:\r
+!MESSAGE \r
+!MESSAGE "dlltest - Win32 Release" ("Win32 (x86) Console Application" \97p)\r
+!MESSAGE "dlltest - Win32 Debug" ("Win32 (x86) Console Application" \97p)\r
+!MESSAGE \r
+\r
+# Begin Project\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+RSC=rc.exe\r
+\r
+!IF  "$(CFG)" == "dlltest - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "Release"\r
+# PROP BASE Intermediate_Dir "Release"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "Release"\r
+# PROP Intermediate_Dir "Release"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD BASE RSC /l 0x411 /d "NDEBUG"\r
+# ADD RSC /l 0x411 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386\r
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"minibz2.exe"\r
+\r
+!ELSEIF  "$(CFG)" == "dlltest - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "dlltest_"\r
+# PROP BASE Intermediate_Dir "dlltest_"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "dlltest_"\r
+# PROP Intermediate_Dir "dlltest_"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD BASE RSC /l 0x411 /d "_DEBUG"\r
+# ADD RSC /l 0x411 /d "_DEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept\r
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"minibz2.exe" /pdbtype:sept\r
+\r
+!ENDIF \r
+\r
+# Begin Target\r
+\r
+# Name "dlltest - Win32 Release"\r
+# Name "dlltest - Win32 Debug"\r
+# Begin Source File\r
+\r
+SOURCE=.\bzlib.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\dlltest.c\r
+# End Source File\r
+# End Target\r
+# End Project\r
diff --git a/commands/bzip2-1.0.3/entities.xml b/commands/bzip2-1.0.3/entities.xml
new file mode 100644 (file)
index 0000000..6d0975f
--- /dev/null
@@ -0,0 +1,9 @@
+<!-- misc. strings -->
+<!ENTITY bz-url "http://www.bzip.org">
+<!ENTITY bz-email "jseward@bzip.org">
+<!ENTITY bz-lifespan "1996-2005">
+
+<!ENTITY bz-version "1.0.3">
+<!ENTITY bz-date "15 February 2005">
+
+<!ENTITY manual-title "bzip2 Manual">
diff --git a/commands/bzip2-1.0.3/format.pl b/commands/bzip2-1.0.3/format.pl
new file mode 100755 (executable)
index 0000000..8ab47ac
--- /dev/null
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+use strict;
+
+# get command line values:
+if ( $#ARGV !=1 ) {
+    die "Usage:  $0 xml_infile xml_outfile\n";
+}
+
+my $infile = shift;
+# check infile exists
+die "Can't find file \"$infile\""
+  unless -f $infile;
+# check we can read infile
+if (! -r $infile) {
+    die "Can't read input $infile\n";
+}
+# check we can open infile
+open( INFILE,"<$infile" ) or 
+    die "Can't input $infile $!";
+
+#my $outfile = 'fmt-manual.xml';
+my $outfile = shift;
+#print "Infile: $infile, Outfile: $outfile\n";
+# check we can write to outfile
+open( OUTFILE,">$outfile" ) or 
+    die "Can't output $outfile $! for writing";
+
+my ($prev, $curr, $str);
+$prev = ''; $curr = '';
+while ( <INFILE> ) {
+
+               print OUTFILE $prev;
+    $prev = $curr;
+    $curr = $_;
+    $str = '';
+
+    if ( $prev =~ /<programlisting>$|<screen>$/ ) {
+        chomp $prev;
+        $curr = join( '', $prev, "<![CDATA[", $curr );
+                               $prev = '';
+        next;
+    }
+    elsif ( $curr =~ /<\/programlisting>|<\/screen>/ ) {
+        chomp $prev;
+        $curr = join( '', $prev, "]]>", $curr );
+                               $prev = '';
+        next;
+    }
+}
+print OUTFILE $curr;
+close INFILE;
+close OUTFILE;
+exit;
diff --git a/commands/bzip2-1.0.3/huffman.c b/commands/bzip2-1.0.3/huffman.c
new file mode 100644 (file)
index 0000000..5bf190b
--- /dev/null
@@ -0,0 +1,245 @@
+
+/*-------------------------------------------------------------*/
+/*--- Huffman coding low-level stuff                        ---*/
+/*---                                             huffman.c ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+
+#include "bzlib_private.h"
+
+/*---------------------------------------------------*/
+#define WEIGHTOF(zz0)  ((zz0) & 0xffffff00)
+#define DEPTHOF(zz1)   ((zz1) & 0x000000ff)
+#define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3))
+
+#define ADDWEIGHTS(zw1,zw2)                           \
+   (WEIGHTOF(zw1)+WEIGHTOF(zw2)) |                    \
+   (1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2)))
+
+#define UPHEAP(z)                                     \
+{                                                     \
+   Int32 zz, tmp;                                     \
+   zz = z; tmp = heap[zz];                            \
+   while (weight[tmp] < weight[heap[zz >> 1]]) {      \
+      heap[zz] = heap[zz >> 1];                       \
+      zz >>= 1;                                       \
+   }                                                  \
+   heap[zz] = tmp;                                    \
+}
+
+#define DOWNHEAP(z)                                   \
+{                                                     \
+   Int32 zz, yy, tmp;                                 \
+   zz = z; tmp = heap[zz];                            \
+   while (True) {                                     \
+      yy = zz << 1;                                   \
+      if (yy > nHeap) break;                          \
+      if (yy < nHeap &&                               \
+          weight[heap[yy+1]] < weight[heap[yy]])      \
+         yy++;                                        \
+      if (weight[tmp] < weight[heap[yy]]) break;      \
+      heap[zz] = heap[yy];                            \
+      zz = yy;                                        \
+   }                                                  \
+   heap[zz] = tmp;                                    \
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_hbMakeCodeLengths ( UChar *len, 
+                             Int32 *freq,
+                             Int32 alphaSize,
+                             Int32 maxLen )
+{
+   /*--
+      Nodes and heap entries run from 1.  Entry 0
+      for both the heap and nodes is a sentinel.
+   --*/
+   Int32 nNodes, nHeap, n1, n2, i, j, k;
+   Bool  tooLong;
+
+   Int32 heap   [ BZ_MAX_ALPHA_SIZE + 2 ];
+   Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ];
+   Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ]; 
+
+   for (i = 0; i < alphaSize; i++)
+      weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8;
+
+   while (True) {
+
+      nNodes = alphaSize;
+      nHeap = 0;
+
+      heap[0] = 0;
+      weight[0] = 0;
+      parent[0] = -2;
+
+      for (i = 1; i <= alphaSize; i++) {
+         parent[i] = -1;
+         nHeap++;
+         heap[nHeap] = i;
+         UPHEAP(nHeap);
+      }
+
+      AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 );
+   
+      while (nHeap > 1) {
+         n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
+         n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
+         nNodes++;
+         parent[n1] = parent[n2] = nNodes;
+         weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]);
+         parent[nNodes] = -1;
+         nHeap++;
+         heap[nHeap] = nNodes;
+         UPHEAP(nHeap);
+      }
+
+      AssertH( nNodes < (BZ_MAX_ALPHA_SIZE * 2), 2002 );
+
+      tooLong = False;
+      for (i = 1; i <= alphaSize; i++) {
+         j = 0;
+         k = i;
+         while (parent[k] >= 0) { k = parent[k]; j++; }
+         len[i-1] = j;
+         if (j > maxLen) tooLong = True;
+      }
+      
+      if (! tooLong) break;
+
+      /* 17 Oct 04: keep-going condition for the following loop used
+         to be 'i < alphaSize', which missed the last element,
+         theoretically leading to the possibility of the compressor
+         looping.  However, this count-scaling step is only needed if
+         one of the generated Huffman code words is longer than
+         maxLen, which up to and including version 1.0.2 was 20 bits,
+         which is extremely unlikely.  In version 1.0.3 maxLen was
+         changed to 17 bits, which has minimal effect on compression
+         ratio, but does mean this scaling step is used from time to
+         time, enough to verify that it works.
+
+         This means that bzip2-1.0.3 and later will only produce
+         Huffman codes with a maximum length of 17 bits.  However, in
+         order to preserve backwards compatibility with bitstreams
+         produced by versions pre-1.0.3, the decompressor must still
+         handle lengths of up to 20. */
+
+      for (i = 1; i <= alphaSize; i++) {
+         j = weight[i] >> 8;
+         j = 1 + (j / 2);
+         weight[i] = j << 8;
+      }
+   }
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_hbAssignCodes ( Int32 *code,
+                         UChar *length,
+                         Int32 minLen,
+                         Int32 maxLen,
+                         Int32 alphaSize )
+{
+   Int32 n, vec, i;
+
+   vec = 0;
+   for (n = minLen; n <= maxLen; n++) {
+      for (i = 0; i < alphaSize; i++)
+         if (length[i] == n) { code[i] = vec; vec++; };
+      vec <<= 1;
+   }
+}
+
+
+/*---------------------------------------------------*/
+void BZ2_hbCreateDecodeTables ( Int32 *limit,
+                                Int32 *base,
+                                Int32 *perm,
+                                UChar *length,
+                                Int32 minLen,
+                                Int32 maxLen,
+                                Int32 alphaSize )
+{
+   Int32 pp, i, j, vec;
+
+   pp = 0;
+   for (i = minLen; i <= maxLen; i++)
+      for (j = 0; j < alphaSize; j++)
+         if (length[j] == i) { perm[pp] = j; pp++; };
+
+   for (i = 0; i < BZ_MAX_CODE_LEN; i++) base[i] = 0;
+   for (i = 0; i < alphaSize; i++) base[length[i]+1]++;
+
+   for (i = 1; i < BZ_MAX_CODE_LEN; i++) base[i] += base[i-1];
+
+   for (i = 0; i < BZ_MAX_CODE_LEN; i++) limit[i] = 0;
+   vec = 0;
+
+   for (i = minLen; i <= maxLen; i++) {
+      vec += (base[i+1] - base[i]);
+      limit[i] = vec-1;
+      vec <<= 1;
+   }
+   for (i = minLen + 1; i <= maxLen; i++)
+      base[i] = ((limit[i-1] + 1) << 1) - base[i];
+}
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                         huffman.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/libbz2.def b/commands/bzip2-1.0.3/libbz2.def
new file mode 100644 (file)
index 0000000..2dc0dd8
--- /dev/null
@@ -0,0 +1,27 @@
+LIBRARY                        LIBBZ2\r
+DESCRIPTION            "libbzip2: library for data compression"\r
+EXPORTS\r
+       BZ2_bzCompressInit\r
+       BZ2_bzCompress\r
+       BZ2_bzCompressEnd\r
+       BZ2_bzDecompressInit\r
+       BZ2_bzDecompress\r
+       BZ2_bzDecompressEnd\r
+       BZ2_bzReadOpen\r
+       BZ2_bzReadClose\r
+       BZ2_bzReadGetUnused\r
+       BZ2_bzRead\r
+       BZ2_bzWriteOpen\r
+       BZ2_bzWrite\r
+       BZ2_bzWriteClose\r
+       BZ2_bzWriteClose64\r
+       BZ2_bzBuffToBuffCompress\r
+       BZ2_bzBuffToBuffDecompress\r
+       BZ2_bzlibVersion\r
+       BZ2_bzopen\r
+       BZ2_bzdopen\r
+       BZ2_bzread\r
+       BZ2_bzwrite\r
+       BZ2_bzflush\r
+       BZ2_bzclose\r
+       BZ2_bzerror\r
diff --git a/commands/bzip2-1.0.3/libbz2.dsp b/commands/bzip2-1.0.3/libbz2.dsp
new file mode 100644 (file)
index 0000000..a21a20f
--- /dev/null
@@ -0,0 +1,130 @@
+# Microsoft Developer Studio Project File - Name="libbz2" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 5.00\r
+# ** \95Ò\8fW\82µ\82È\82¢\82Å\82­\82¾\82³\82¢ **\r
+\r
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102\r
+\r
+CFG=libbz2 - Win32 Debug\r
+!MESSAGE \82±\82ê\82Í\97L\8cø\82ÈÒ²¸Ì§²Ù\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81\82±\82ÌÌßÛ¼Þª¸Ä\82ðËÞÙÄÞ\82·\82é\82½\82ß\82É\82Í NMAKE \82ð\8eg\97p\82µ\82Ä\82­\82¾\82³\82¢\81B\r
+!MESSAGE [Ò²¸Ì§²Ù\82Ì´¸½Îß°Ä] ºÏÝÄÞ\82ð\8eg\97p\82µ\82Ä\8eÀ\8ds\82µ\82Ä\82­\82¾\82³\82¢\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "libbz2.mak".\r
+!MESSAGE \r
+!MESSAGE NMAKE \82Ì\8eÀ\8ds\8e\9e\82É\8d\\90¬\82ð\8ew\92è\82Å\82«\82Ü\82·\r
+!MESSAGE ºÏÝÄޠײÝ\8fã\82ÅϸÛ\82Ì\90Ý\92è\82ð\92è\8b`\82µ\82Ü\82·\81B\97á:\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "libbz2.mak" CFG="libbz2 - Win32 Debug"\r
+!MESSAGE \r
+!MESSAGE \91I\91ð\89Â\94\\82ÈËÞÙÄÞ Ó°ÄÞ:\r
+!MESSAGE \r
+!MESSAGE "libbz2 - Win32 Release" ("Win32 (x86) Dynamic-Link Library" \97p)\r
+!MESSAGE "libbz2 - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" \97p)\r
+!MESSAGE \r
+\r
+# Begin Project\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+MTL=midl.exe\r
+RSC=rc.exe\r
+\r
+!IF  "$(CFG)" == "libbz2 - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "Release"\r
+# PROP BASE Intermediate_Dir "Release"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "Release"\r
+# PROP Intermediate_Dir "Release"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c\r
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32\r
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32\r
+# ADD BASE RSC /l 0x411 /d "NDEBUG"\r
+# ADD RSC /l 0x411 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386\r
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"libbz2.dll"\r
+\r
+!ELSEIF  "$(CFG)" == "libbz2 - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "Debug"\r
+# PROP BASE Intermediate_Dir "Debug"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "Debug"\r
+# PROP Intermediate_Dir "Debug"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c\r
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32\r
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32\r
+# ADD BASE RSC /l 0x411 /d "_DEBUG"\r
+# ADD RSC /l 0x411 /d "_DEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept\r
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"libbz2.dll" /pdbtype:sept\r
+\r
+!ENDIF \r
+\r
+# Begin Target\r
+\r
+# Name "libbz2 - Win32 Release"\r
+# Name "libbz2 - Win32 Debug"\r
+# Begin Source File\r
+\r
+SOURCE=.\blocksort.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\bzlib.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\bzlib.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\bzlib_private.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\compress.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\crctable.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\decompress.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\huffman.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\libbz2.def\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\randtable.c\r
+# End Source File\r
+# End Target\r
+# End Project\r
diff --git a/commands/bzip2-1.0.3/makefile.msc b/commands/bzip2-1.0.3/makefile.msc
new file mode 100644 (file)
index 0000000..799a18a
--- /dev/null
@@ -0,0 +1,63 @@
+# Makefile for Microsoft Visual C++ 6.0\r
+# usage: nmake -f makefile.msc\r
+# K.M. Syring (syring@gsf.de)\r
+# Fixed up by JRS for bzip2-0.9.5d release.\r
+\r
+CC=cl\r
+CFLAGS= -DWIN32 -MD -Ox -D_FILE_OFFSET_BITS=64 -nologo\r
+\r
+OBJS= blocksort.obj  \\r
+      huffman.obj    \\r
+      crctable.obj   \\r
+      randtable.obj  \\r
+      compress.obj   \\r
+      decompress.obj \\r
+      bzlib.obj\r
+\r
+all: lib bzip2 test\r
+\r
+bzip2: lib\r
+       $(CC) $(CFLAGS) -o bzip2 bzip2.c libbz2.lib setargv.obj\r
+       $(CC) $(CFLAGS) -o bzip2recover bzip2recover.c\r
+\r
+lib: $(OBJS)\r
+       lib /out:libbz2.lib $(OBJS)\r
+\r
+test: bzip2\r
+       type words1\r
+       .\\bzip2 -1  < sample1.ref > sample1.rb2\r
+       .\\bzip2 -2  < sample2.ref > sample2.rb2\r
+       .\\bzip2 -3  < sample3.ref > sample3.rb2\r
+       .\\bzip2 -d  < sample1.bz2 > sample1.tst\r
+       .\\bzip2 -d  < sample2.bz2 > sample2.tst\r
+       .\\bzip2 -ds < sample3.bz2 > sample3.tst\r
+       @echo All six of the fc's should find no differences.\r
+       @echo If fc finds an error on sample3.bz2, this could be\r
+       @echo because WinZip's 'TAR file smart CR/LF conversion'\r
+       @echo is too clever for its own good.  Disable this option.\r
+       @echo The correct size for sample3.ref is 120,244.  If it\r
+       @echo is 150,251, WinZip has messed it up.\r
+       fc sample1.bz2 sample1.rb2 \r
+       fc sample2.bz2 sample2.rb2\r
+       fc sample3.bz2 sample3.rb2\r
+       fc sample1.tst sample1.ref\r
+       fc sample2.tst sample2.ref\r
+       fc sample3.tst sample3.ref\r
+\r
+\r
+\r
+clean: \r
+       del *.obj\r
+       del libbz2.lib \r
+       del bzip2.exe\r
+       del bzip2recover.exe\r
+       del sample1.rb2 \r
+       del sample2.rb2 \r
+       del sample3.rb2\r
+       del sample1.tst \r
+       del sample2.tst\r
+       del sample3.tst\r
+\r
+.c.obj: \r
+       $(CC) $(CFLAGS) -c $*.c -o $*.obj\r
+\r
diff --git a/commands/bzip2-1.0.3/manual.html b/commands/bzip2-1.0.3/manual.html
new file mode 100644 (file)
index 0000000..b28cc79
--- /dev/null
@@ -0,0 +1,2687 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>bzip2 and libbzip2, version 1.0.3</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.64.1">
+<style type="text/css" media="screen">/* Colours:
+#74240f  dark brown      h1, h2, h3, h4
+#336699  medium blue     links
+#339999  turquoise       link hover colour
+#202020  almost black    general text
+#761596  purple          md5sum text
+#626262  dark gray       pre border
+#eeeeee  very light gray pre background
+#f2f2f9  very light blue nav table background
+#3366cc  medium blue     nav table border
+*/
+
+a, a:link, a:visited, a:active { color: #336699; }
+a:hover { color: #339999; }
+
+body { font: 80%/126% sans-serif; }
+h1, h2, h3, h4 { color: #74240f; }
+
+dt { color: #336699; font-weight: bold }
+dd { 
+ margin-left: 1.5em; 
+ padding-bottom: 0.8em;
+}
+
+/* -- ruler -- */
+div.hr_blue { 
+  height:  3px; 
+  background:#ffffff url("/images/hr_blue.png") repeat-x; }
+div.hr_blue hr { display:none; }
+
+/* release styles */
+#release p { margin-top: 0.4em; }
+#release .md5sum { color: #761596; }
+
+
+/* ------ styles for docs|manuals|howto ------ */
+/* -- lists -- */
+ul  { 
+ margin:     0px 4px 16px 16px;
+ padding:    0px;
+ list-style: url("/images/li-blue.png"); 
+}
+ul li { 
+ margin-bottom: 10px;
+}
+ul ul  { 
+ list-style-type:  none; 
+ list-style-image: none; 
+ margin-left:      0px; 
+}
+
+/* header / footer nav tables */
+table.nav {
+ border:     solid 1px #3366cc;
+ background: #f2f2f9;
+ background-color: #f2f2f9;
+ margin-bottom: 0.5em;
+}
+/* don't have underlined links in chunked nav menus */
+table.nav a { text-decoration: none; }
+table.nav a:hover { text-decoration: underline; }
+table.nav td { font-size: 85%; }
+
+code, tt, pre { font-size: 120%; }
+code, tt { color: #761596; }
+
+div.literallayout, pre.programlisting, pre.screen {
+ color:      #000000;
+ padding:    0.5em;
+ background: #eeeeee;
+ border:     1px solid #626262;
+ background-color: #eeeeee;
+ margin: 4px 0px 4px 0px; 
+}
+</style>
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en">
+<div class="titlepage">
+<div>
+<div><h1 class="title">
+<a name="userman"></a>bzip2 and libbzip2, version 1.0.3</h1></div>
+<div><h2 class="subtitle">A program and library for data compression</h2></div>
+<div><div class="authorgroup"><div class="author">
+<h3 class="author">
+<span class="firstname">Julian</span> <span class="surname">Seward</span>
+</h3>
+<div class="affiliation"><span class="orgname">http://www.bzip.org<br></span></div>
+</div></div></div>
+<div><p class="releaseinfo">Version 1.0.3 of 15 February 2005</p></div>
+<div><p class="copyright">Copyright © 1996-2005 Julian Seward</p></div>
+<div><div class="legalnotice">
+<p>This program, <tt class="computeroutput">bzip2</tt>, the
+  associated library <tt class="computeroutput">libbzip2</tt>, and
+  all documentation, are copyright © 1996-2005 Julian Seward.
+  All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with
+  or without modification, are permitted provided that the
+  following conditions are met:</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p>Redistributions of source code must retain the
+   above copyright notice, this list of conditions and the
+   following disclaimer.</p></li>
+<li style="list-style-type: disc"><p>The origin of this software must not be
+   misrepresented; you must not claim that you wrote the original
+   software.  If you use this software in a product, an
+   acknowledgment in the product documentation would be
+   appreciated but is not required.</p></li>
+<li style="list-style-type: disc"><p>Altered source versions must be plainly marked
+   as such, and must not be misrepresented as being the original
+   software.</p></li>
+<li style="list-style-type: disc"><p>The name of the author may not be used to
+   endorse or promote products derived from this software without
+   specific prior written permission.</p></li>
+</ul></div>
+<p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY
+  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+  PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+  AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+  THE POSSIBILITY OF SUCH DAMAGE.</p>
+<p>PATENTS: To the best of my knowledge,
+ <tt class="computeroutput">bzip2</tt> and
+ <tt class="computeroutput">libbzip2</tt> do not use any patented
+ algorithms.  However, I do not have the resources to carry
+ out a patent search.  Therefore I cannot give any guarantee of
+ the above statement.
+ </p>
+</div></div>
+</div>
+<div></div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="chapter"><a href="#intro">1. Introduction</a></span></dt>
+<dt><span class="chapter"><a href="#using">2. How to use bzip2</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="#name">2.1. NAME</a></span></dt>
+<dt><span class="sect1"><a href="#synopsis">2.2. SYNOPSIS</a></span></dt>
+<dt><span class="sect1"><a href="#description">2.3. DESCRIPTION</a></span></dt>
+<dt><span class="sect1"><a href="#options">2.4. OPTIONS</a></span></dt>
+<dt><span class="sect1"><a href="#memory-management">2.5. MEMORY MANAGEMENT</a></span></dt>
+<dt><span class="sect1"><a href="#recovering">2.6. RECOVERING DATA FROM DAMAGED FILES</a></span></dt>
+<dt><span class="sect1"><a href="#performance">2.7. PERFORMANCE NOTES</a></span></dt>
+<dt><span class="sect1"><a href="#caveats">2.8. CAVEATS</a></span></dt>
+<dt><span class="sect1"><a href="#author">2.9. AUTHOR</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="#libprog">3. 
+Programming with libbzip2
+</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="#top-level">3.1. Top-level structure</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#ll-summary">3.1.1. Low-level summary</a></span></dt>
+<dt><span class="sect2"><a href="#hl-summary">3.1.2. High-level summary</a></span></dt>
+<dt><span class="sect2"><a href="#util-fns-summary">3.1.3. Utility functions summary</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#err-handling">3.2. Error handling</a></span></dt>
+<dt><span class="sect1"><a href="#low-level">3.3. Low-level interface</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#bzcompress-init">3.3.1. BZ2_bzCompressInit</a></span></dt>
+<dt><span class="sect2"><a href="#bzCompress">3.3.2. BZ2_bzCompress</a></span></dt>
+<dt><span class="sect2"><a href="#bzCompress-end">3.3.3. BZ2_bzCompressEnd</a></span></dt>
+<dt><span class="sect2"><a href="#bzDecompress-init">3.3.4. BZ2_bzDecompressInit</a></span></dt>
+<dt><span class="sect2"><a href="#bzDecompress">3.3.5. BZ2_bzDecompress</a></span></dt>
+<dt><span class="sect2"><a href="#bzDecompress-end">3.3.6. BZ2_bzDecompressEnd</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#hl-interface">3.4. High-level interface</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#bzreadopen">3.4.1. BZ2_bzReadOpen</a></span></dt>
+<dt><span class="sect2"><a href="#bzread">3.4.2. BZ2_bzRead</a></span></dt>
+<dt><span class="sect2"><a href="#bzreadgetunused">3.4.3. BZ2_bzReadGetUnused</a></span></dt>
+<dt><span class="sect2"><a href="#bzreadclose">3.4.4. BZ2_bzReadClose</a></span></dt>
+<dt><span class="sect2"><a href="#bzwriteopen">3.4.5. BZ2_bzWriteOpen</a></span></dt>
+<dt><span class="sect2"><a href="#bzwrite">3.4.6. BZ2_bzWrite</a></span></dt>
+<dt><span class="sect2"><a href="#bzwriteclose">3.4.7. BZ2_bzWriteClose</a></span></dt>
+<dt><span class="sect2"><a href="#embed">3.4.8. Handling embedded compressed data streams</a></span></dt>
+<dt><span class="sect2"><a href="#std-rdwr">3.4.9. Standard file-reading/writing code</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#util-fns">3.5. Utility functions</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#bzbufftobuffcompress">3.5.1. BZ2_bzBuffToBuffCompress</a></span></dt>
+<dt><span class="sect2"><a href="#bzbufftobuffdecompress">3.5.2. BZ2_bzBuffToBuffDecompress</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#zlib-compat">3.6. zlib compatibility functions</a></span></dt>
+<dt><span class="sect1"><a href="#stdio-free">3.7. Using the library in a stdio-free environment</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#stdio-bye">3.7.1. Getting rid of stdio</a></span></dt>
+<dt><span class="sect2"><a href="#critical-error">3.7.2. Critical error handling</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#win-dll">3.8. Making a Windows DLL</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="#misc">4. Miscellanea</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="#limits">4.1. Limitations of the compressed file format</a></span></dt>
+<dt><span class="sect1"><a href="#port-issues">4.2. Portability issues</a></span></dt>
+<dt><span class="sect1"><a href="#bugs">4.3. Reporting bugs</a></span></dt>
+<dt><span class="sect1"><a href="#package">4.4. Did you get the right package?</a></span></dt>
+<dt><span class="sect1"><a href="#reading">4.5. Further Reading</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title">
+<a name="intro"></a>1. Introduction</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">bzip2</tt> compresses files
+using the Burrows-Wheeler block-sorting text compression
+algorithm, and Huffman coding.  Compression is generally
+considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of
+the PPM family of statistical compressors.</p>
+<p><tt class="computeroutput">bzip2</tt> is built on top of
+<tt class="computeroutput">libbzip2</tt>, a flexible library for
+handling compressed data in the
+<tt class="computeroutput">bzip2</tt> format.  This manual
+describes both how to use the program and how to work with the
+library interface.  Most of the manual is devoted to this
+library, not the program, which is good news if your interest is
+only in the program.</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p><a href="#using">How to use bzip2</a> describes how to use
+ <tt class="computeroutput">bzip2</tt>; this is the only part
+ you need to read if you just want to know how to operate the
+ program.</p></li>
+<li style="list-style-type: disc"><p><a href="#libprog">Programming with libbzip2</a> describes the
+ programming interfaces in detail, and</p></li>
+<li style="list-style-type: disc"><p><a href="#misc">Miscellanea</a> records some
+ miscellaneous notes which I thought ought to be recorded
+ somewhere.</p></li>
+</ul></div>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title">
+<a name="using"></a>2. How to use bzip2</h2></div></div>
+<div></div>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="sect1"><a href="#name">2.1. NAME</a></span></dt>
+<dt><span class="sect1"><a href="#synopsis">2.2. SYNOPSIS</a></span></dt>
+<dt><span class="sect1"><a href="#description">2.3. DESCRIPTION</a></span></dt>
+<dt><span class="sect1"><a href="#options">2.4. OPTIONS</a></span></dt>
+<dt><span class="sect1"><a href="#memory-management">2.5. MEMORY MANAGEMENT</a></span></dt>
+<dt><span class="sect1"><a href="#recovering">2.6. RECOVERING DATA FROM DAMAGED FILES</a></span></dt>
+<dt><span class="sect1"><a href="#performance">2.7. PERFORMANCE NOTES</a></span></dt>
+<dt><span class="sect1"><a href="#caveats">2.8. CAVEATS</a></span></dt>
+<dt><span class="sect1"><a href="#author">2.9. AUTHOR</a></span></dt>
+</dl>
+</div>
+<p>This chapter contains a copy of the
+<tt class="computeroutput">bzip2</tt> man page, and nothing
+else.</p>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="name"></a>2.1. NAME</h2></div></div>
+<div></div>
+</div>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p><tt class="computeroutput">bzip2</tt>,
+  <tt class="computeroutput">bunzip2</tt> - a block-sorting file
+  compressor, v1.0.3</p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">bzcat</tt> -
+   decompresses files to stdout</p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">bzip2recover</tt> -
+   recovers data from damaged bzip2 files</p></li>
+</ul></div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="synopsis"></a>2.2. SYNOPSIS</h2></div></div>
+<div></div>
+</div>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p><tt class="computeroutput">bzip2</tt> [
+  -cdfkqstvzVL123456789 ] [ filenames ...  ]</p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">bunzip2</tt> [
+  -fkvsVL ] [ filenames ...  ]</p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">bzcat</tt> [ -s ] [
+  filenames ...  ]</p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">bzip2recover</tt>
+  filename</p></li>
+</ul></div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="description"></a>2.3. DESCRIPTION</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">bzip2</tt> compresses files
+using the Burrows-Wheeler block sorting text compression
+algorithm, and Huffman coding.  Compression is generally
+considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of
+the PPM family of statistical compressors.</p>
+<p>The command-line options are deliberately very similar to
+those of GNU <tt class="computeroutput">gzip</tt>, but they are
+not identical.</p>
+<p><tt class="computeroutput">bzip2</tt> expects a list of
+file names to accompany the command-line flags.  Each file is
+replaced by a compressed version of itself, with the name
+<tt class="computeroutput">original_name.bz2</tt>.  Each
+compressed file has the same modification date, permissions, and,
+when possible, ownership as the corresponding original, so that
+these properties can be correctly restored at decompression time.
+File name handling is naive in the sense that there is no
+mechanism for preserving original file names, permissions,
+ownerships or dates in filesystems which lack these concepts, or
+have serious file name length restrictions, such as
+MS-DOS.</p>
+<p><tt class="computeroutput">bzip2</tt> and
+<tt class="computeroutput">bunzip2</tt> will by default not
+overwrite existing files.  If you want this to happen, specify
+the <tt class="computeroutput">-f</tt> flag.</p>
+<p>If no file names are specified,
+<tt class="computeroutput">bzip2</tt> compresses from standard
+input to standard output.  In this case,
+<tt class="computeroutput">bzip2</tt> will decline to write
+compressed output to a terminal, as this would be entirely
+incomprehensible and therefore pointless.</p>
+<p><tt class="computeroutput">bunzip2</tt> (or
+<tt class="computeroutput">bzip2 -d</tt>) decompresses all
+specified files.  Files which were not created by
+<tt class="computeroutput">bzip2</tt> will be detected and
+ignored, and a warning issued.
+<tt class="computeroutput">bzip2</tt> attempts to guess the
+filename for the decompressed file from that of the compressed
+file as follows:</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p><tt class="computeroutput">filename.bz2 </tt>
+  becomes
+  <tt class="computeroutput">filename</tt></p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">filename.bz </tt>
+  becomes
+  <tt class="computeroutput">filename</tt></p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">filename.tbz2</tt>
+  becomes
+  <tt class="computeroutput">filename.tar</tt></p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">filename.tbz </tt>
+  becomes
+  <tt class="computeroutput">filename.tar</tt></p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">anyothername </tt>
+  becomes
+  <tt class="computeroutput">anyothername.out</tt></p></li>
+</ul></div>
+<p>If the file does not end in one of the recognised endings,
+<tt class="computeroutput">.bz2</tt>,
+<tt class="computeroutput">.bz</tt>,
+<tt class="computeroutput">.tbz2</tt> or
+<tt class="computeroutput">.tbz</tt>,
+<tt class="computeroutput">bzip2</tt> complains that it cannot
+guess the name of the original file, and uses the original name
+with <tt class="computeroutput">.out</tt> appended.</p>
+<p>As with compression, supplying no filenames causes
+decompression from standard input to standard output.</p>
+<p><tt class="computeroutput">bunzip2</tt> will correctly
+decompress a file which is the concatenation of two or more
+compressed files.  The result is the concatenation of the
+corresponding uncompressed files.  Integrity testing
+(<tt class="computeroutput">-t</tt>) of concatenated compressed
+files is also supported.</p>
+<p>You can also compress or decompress files to the standard
+output by giving the <tt class="computeroutput">-c</tt> flag.
+Multiple files may be compressed and decompressed like this.  The
+resulting outputs are fed sequentially to stdout.  Compression of
+multiple files in this manner generates a stream containing
+multiple compressed file representations.  Such a stream can be
+decompressed correctly only by
+<tt class="computeroutput">bzip2</tt> version 0.9.0 or later.
+Earlier versions of <tt class="computeroutput">bzip2</tt> will
+stop after decompressing the first file in the stream.</p>
+<p><tt class="computeroutput">bzcat</tt> (or
+<tt class="computeroutput">bzip2 -dc</tt>) decompresses all
+specified files to the standard output.</p>
+<p><tt class="computeroutput">bzip2</tt> will read arguments
+from the environment variables
+<tt class="computeroutput">BZIP2</tt> and
+<tt class="computeroutput">BZIP</tt>, in that order, and will
+process them before any arguments read from the command line.
+This gives a convenient way to supply default arguments.</p>
+<p>Compression is always performed, even if the compressed
+file is slightly larger than the original.  Files of less than
+about one hundred bytes tend to get larger, since the compression
+mechanism has a constant overhead in the region of 50 bytes.
+Random data (including the output of most file compressors) is
+coded at about 8.05 bits per byte, giving an expansion of around
+0.5%.</p>
+<p>As a self-check for your protection,
+<tt class="computeroutput">bzip2</tt> uses 32-bit CRCs to make
+sure that the decompressed version of a file is identical to the
+original.  This guards against corruption of the compressed data,
+and against undetected bugs in
+<tt class="computeroutput">bzip2</tt> (hopefully very unlikely).
+The chances of data corruption going undetected is microscopic,
+about one chance in four billion for each file processed.  Be
+aware, though, that the check occurs upon decompression, so it
+can only tell you that something is wrong.  It can't help you
+recover the original uncompressed data.  You can use
+<tt class="computeroutput">bzip2recover</tt> to try to recover
+data from damaged files.</p>
+<p>Return values: 0 for a normal exit, 1 for environmental
+problems (file not found, invalid flags, I/O errors, etc.), 2
+to indicate a corrupt compressed file, 3 for an internal
+consistency error (eg, bug) which caused
+<tt class="computeroutput">bzip2</tt> to panic.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="options"></a>2.4. OPTIONS</h2></div></div>
+<div></div>
+</div>
+<div class="variablelist"><dl>
+<dt><span class="term"><tt class="computeroutput">-c --stdout</tt></span></dt>
+<dd><p>Compress or decompress to standard
+  output.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-d --decompress</tt></span></dt>
+<dd><p>Force decompression.
+  <tt class="computeroutput">bzip2</tt>,
+  <tt class="computeroutput">bunzip2</tt> and
+  <tt class="computeroutput">bzcat</tt> are really the same
+  program, and the decision about what actions to take is done on
+  the basis of which name is used.  This flag overrides that
+  mechanism, and forces bzip2 to decompress.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-z --compress</tt></span></dt>
+<dd><p>The complement to
+  <tt class="computeroutput">-d</tt>: forces compression,
+  regardless of the invokation name.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-t --test</tt></span></dt>
+<dd><p>Check integrity of the specified file(s), but
+  don't decompress them.  This really performs a trial
+  decompression and throws away the result.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-f --force</tt></span></dt>
+<dd>
+<p>Force overwrite of output files.  Normally,
+  <tt class="computeroutput">bzip2</tt> will not overwrite
+  existing output files.  Also forces
+  <tt class="computeroutput">bzip2</tt> to break hard links to
+  files, which it otherwise wouldn't do.</p>
+<p><tt class="computeroutput">bzip2</tt> normally declines
+  to decompress files which don't have the correct magic header
+  bytes. If forced (<tt class="computeroutput">-f</tt>),
+  however, it will pass such files through unmodified. This is
+  how GNU <tt class="computeroutput">gzip</tt> behaves.</p>
+</dd>
+<dt><span class="term"><tt class="computeroutput">-k --keep</tt></span></dt>
+<dd><p>Keep (don't delete) input files during
+  compression or decompression.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-s --small</tt></span></dt>
+<dd>
+<p>Reduce memory usage, for compression,
+  decompression and testing.  Files are decompressed and tested
+  using a modified algorithm which only requires 2.5 bytes per
+  block byte.  This means any file can be decompressed in 2300k
+  of memory, albeit at about half the normal speed.</p>
+<p>During compression, <tt class="computeroutput">-s</tt>
+  selects a block size of 200k, which limits memory use to around
+  the same figure, at the expense of your compression ratio.  In
+  short, if your machine is low on memory (8 megabytes or less),
+  use <tt class="computeroutput">-s</tt> for everything.  See
+  <a href="#memory-management">MEMORY MANAGEMENT</a> below.</p>
+</dd>
+<dt><span class="term"><tt class="computeroutput">-q --quiet</tt></span></dt>
+<dd><p>Suppress non-essential warning messages.
+  Messages pertaining to I/O errors and other critical events
+  will not be suppressed.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-v --verbose</tt></span></dt>
+<dd><p>Verbose mode -- show the compression ratio for
+  each file processed.  Further
+  <tt class="computeroutput">-v</tt>'s increase the verbosity
+  level, spewing out lots of information which is primarily of
+  interest for diagnostic purposes.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-L --license -V --version</tt></span></dt>
+<dd><p>Display the software version, license terms and
+  conditions.</p></dd>
+<dt><span class="term"><tt class="computeroutput">-1</tt> (or
+ <tt class="computeroutput">--fast</tt>) to
+ <tt class="computeroutput">-9</tt> (or
+ <tt class="computeroutput">-best</tt>)</span></dt>
+<dd><p>Set the block size to 100 k, 200 k ...  900 k
+  when compressing.  Has no effect when decompressing.  See <a href="#memory-management">MEMORY MANAGEMENT</a> below.  The
+  <tt class="computeroutput">--fast</tt> and
+  <tt class="computeroutput">--best</tt> aliases are primarily
+  for GNU <tt class="computeroutput">gzip</tt> compatibility.
+  In particular, <tt class="computeroutput">--fast</tt> doesn't
+  make things significantly faster.  And
+  <tt class="computeroutput">--best</tt> merely selects the
+  default behaviour.</p></dd>
+<dt><span class="term"><tt class="computeroutput">--</tt></span></dt>
+<dd><p>Treats all subsequent arguments as file names,
+  even if they start with a dash.  This is so you can handle
+  files with names beginning with a dash, for example:
+  <tt class="computeroutput">bzip2 --
+  -myfilename</tt>.</p></dd>
+<dt>
+<span class="term"><tt class="computeroutput">--repetitive-fast</tt>, </span><span class="term"><tt class="computeroutput">--repetitive-best</tt>, </span>
+</dt>
+<dd><p>These flags are redundant in versions 0.9.5 and
+  above.  They provided some coarse control over the behaviour of
+  the sorting algorithm in earlier versions, which was sometimes
+  useful.  0.9.5 and above have an improved algorithm which
+  renders these flags irrelevant.</p></dd>
+</dl></div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="memory-management"></a>2.5. MEMORY MANAGEMENT</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">bzip2</tt> compresses large
+files in blocks.  The block size affects both the compression
+ratio achieved, and the amount of memory needed for compression
+and decompression.  The flags <tt class="computeroutput">-1</tt>
+through <tt class="computeroutput">-9</tt> specify the block
+size to be 100,000 bytes through 900,000 bytes (the default)
+respectively.  At decompression time, the block size used for
+compression is read from the header of the compressed file, and
+<tt class="computeroutput">bunzip2</tt> then allocates itself
+just enough memory to decompress the file.  Since block sizes are
+stored in compressed files, it follows that the flags
+<tt class="computeroutput">-1</tt> to
+<tt class="computeroutput">-9</tt> are irrelevant to and so
+ignored during decompression.</p>
+<p>Compression and decompression requirements, in bytes, can be
+estimated as:</p>
+<pre class="programlisting">Compression:   400k + ( 8 x block size )
+
+Decompression: 100k + ( 4 x block size ), or
+               100k + ( 2.5 x block size )</pre>
+<p>Larger block sizes give rapidly diminishing marginal
+returns.  Most of the compression comes from the first two or
+three hundred k of block size, a fact worth bearing in mind when
+using <tt class="computeroutput">bzip2</tt> on small machines.
+It is also important to appreciate that the decompression memory
+requirement is set at compression time by the choice of block
+size.</p>
+<p>For files compressed with the default 900k block size,
+<tt class="computeroutput">bunzip2</tt> will require about 3700
+kbytes to decompress.  To support decompression of any file on a
+4 megabyte machine, <tt class="computeroutput">bunzip2</tt> has
+an option to decompress using approximately half this amount of
+memory, about 2300 kbytes.  Decompression speed is also halved,
+so you should use this option only where necessary.  The relevant
+flag is <tt class="computeroutput">-s</tt>.</p>
+<p>In general, try and use the largest block size memory
+constraints allow, since that maximises the compression achieved.
+Compression and decompression speed are virtually unaffected by
+block size.</p>
+<p>Another significant point applies to files which fit in a
+single block -- that means most files you'd encounter using a
+large block size.  The amount of real memory touched is
+proportional to the size of the file, since the file is smaller
+than a block.  For example, compressing a file 20,000 bytes long
+with the flag <tt class="computeroutput">-9</tt> will cause the
+compressor to allocate around 7600k of memory, but only touch
+400k + 20000 * 8 = 560 kbytes of it.  Similarly, the decompressor
+will allocate 3700k but only touch 100k + 20000 * 4 = 180
+kbytes.</p>
+<p>Here is a table which summarises the maximum memory usage
+for different block sizes.  Also recorded is the total compressed
+size for 14 files of the Calgary Text Compression Corpus
+totalling 3,141,622 bytes.  This column gives some feel for how
+compression varies with block size.  These figures tend to
+understate the advantage of larger block sizes for larger files,
+since the Corpus is dominated by smaller files.</p>
+<pre class="programlisting">        Compress   Decompress   Decompress   Corpus
+Flag     usage      usage       -s usage     Size
+
+ -1      1200k       500k         350k      914704
+ -2      2000k       900k         600k      877703
+ -3      2800k      1300k         850k      860338
+ -4      3600k      1700k        1100k      846899
+ -5      4400k      2100k        1350k      845160
+ -6      5200k      2500k        1600k      838626
+ -7      6100k      2900k        1850k      834096
+ -8      6800k      3300k        2100k      828642
+ -9      7600k      3700k        2350k      828642</pre>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="recovering"></a>2.6. RECOVERING DATA FROM DAMAGED FILES</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">bzip2</tt> compresses files in
+blocks, usually 900kbytes long.  Each block is handled
+independently.  If a media or transmission error causes a
+multi-block <tt class="computeroutput">.bz2</tt> file to become
+damaged, it may be possible to recover data from the undamaged
+blocks in the file.</p>
+<p>The compressed representation of each block is delimited by
+a 48-bit pattern, which makes it possible to find the block
+boundaries with reasonable certainty.  Each block also carries
+its own 32-bit CRC, so damaged blocks can be distinguished from
+undamaged ones.</p>
+<p><tt class="computeroutput">bzip2recover</tt> is a simple
+program whose purpose is to search for blocks in
+<tt class="computeroutput">.bz2</tt> files, and write each block
+out into its own <tt class="computeroutput">.bz2</tt> file.  You
+can then use <tt class="computeroutput">bzip2 -t</tt> to test
+the integrity of the resulting files, and decompress those which
+are undamaged.</p>
+<p><tt class="computeroutput">bzip2recover</tt> takes a
+single argument, the name of the damaged file, and writes a
+number of files <tt class="computeroutput">rec0001file.bz2</tt>,
+<tt class="computeroutput">rec0002file.bz2</tt>, etc, containing
+the extracted blocks.  The output filenames are designed so that
+the use of wildcards in subsequent processing -- for example,
+<tt class="computeroutput">bzip2 -dc rec*file.bz2 &gt;
+recovered_data</tt> -- lists the files in the correct
+order.</p>
+<p><tt class="computeroutput">bzip2recover</tt> should be of
+most use dealing with large <tt class="computeroutput">.bz2</tt>
+files, as these will contain many blocks.  It is clearly futile
+to use it on damaged single-block files, since a damaged block
+cannot be recovered.  If you wish to minimise any potential data
+loss through media or transmission errors, you might consider
+compressing with a smaller block size.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="performance"></a>2.7. PERFORMANCE NOTES</h2></div></div>
+<div></div>
+</div>
+<p>The sorting phase of compression gathers together similar
+strings in the file.  Because of this, files containing very long
+runs of repeated symbols, like "aabaabaabaab ..."  (repeated
+several hundred times) may compress more slowly than normal.
+Versions 0.9.5 and above fare much better than previous versions
+in this respect.  The ratio between worst-case and average-case
+compression time is in the region of 10:1.  For previous
+versions, this figure was more like 100:1.  You can use the
+<tt class="computeroutput">-vvvv</tt> option to monitor progress
+in great detail, if you want.</p>
+<p>Decompression speed is unaffected by these
+phenomena.</p>
+<p><tt class="computeroutput">bzip2</tt> usually allocates
+several megabytes of memory to operate in, and then charges all
+over it in a fairly random fashion.  This means that performance,
+both for compressing and decompressing, is largely determined by
+the speed at which your machine can service cache misses.
+Because of this, small changes to the code to reduce the miss
+rate have been observed to give disproportionately large
+performance improvements.  I imagine
+<tt class="computeroutput">bzip2</tt> will perform best on
+machines with very large caches.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="caveats"></a>2.8. CAVEATS</h2></div></div>
+<div></div>
+</div>
+<p>I/O error messages are not as helpful as they could be.
+<tt class="computeroutput">bzip2</tt> tries hard to detect I/O
+errors and exit cleanly, but the details of what the problem is
+sometimes seem rather misleading.</p>
+<p>This manual page pertains to version 1.0.3 of
+<tt class="computeroutput">bzip2</tt>.  Compressed data created
+by this version is entirely forwards and backwards compatible
+with the previous public releases, versions 0.1pl2, 0.9.0 and
+0.9.5, 1.0.0, 1.0.1 and 1.0.2, but with the following exception: 0.9.0
+and above can correctly decompress multiple concatenated
+compressed files.  0.1pl2 cannot do this; it will stop after
+decompressing just the first file in the stream.</p>
+<p><tt class="computeroutput">bzip2recover</tt> versions
+prior to 1.0.2 used 32-bit integers to represent bit positions in
+compressed files, so it could not handle compressed files more
+than 512 megabytes long.  Versions 1.0.2 and above use 64-bit ints
+on some platforms which support them (GNU supported targets, and
+Windows). To establish whether or not
+<tt class="computeroutput">bzip2recover</tt> was built with such
+a limitation, run it without arguments. In any event you can
+build yourself an unlimited version if you can recompile it with
+<tt class="computeroutput">MaybeUInt64</tt> set to be an
+unsigned 64-bit integer.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="author"></a>2.9. AUTHOR</h2></div></div>
+<div></div>
+</div>
+<p>Julian Seward,
+<tt class="computeroutput">jseward@bzip.org</tt></p>
+<p>The ideas embodied in
+<tt class="computeroutput">bzip2</tt> are due to (at least) the
+following people: Michael Burrows and David Wheeler (for the
+block sorting transformation), David Wheeler (again, for the
+Huffman coder), Peter Fenwick (for the structured coding model in
+the original <tt class="computeroutput">bzip</tt>, and many
+refinements), and Alistair Moffat, Radford Neal and Ian Witten
+(for the arithmetic coder in the original
+<tt class="computeroutput">bzip</tt>).  I am much indebted for
+their help, support and advice.  See the manual in the source
+distribution for pointers to sources of documentation.  Christian
+von Roques encouraged me to look for faster sorting algorithms,
+so as to speed up compression.  Bela Lubkin encouraged me to
+improve the worst-case compression performance.  
+Donna Robinson XMLised the documentation.
+Many people sent
+patches, helped with portability problems, lent machines, gave
+advice and were generally helpful.</p>
+</div>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title">
+<a name="libprog"></a>3. 
+Programming with <tt class="computeroutput">libbzip2</tt>
+</h2></div></div>
+<div></div>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="sect1"><a href="#top-level">3.1. Top-level structure</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#ll-summary">3.1.1. Low-level summary</a></span></dt>
+<dt><span class="sect2"><a href="#hl-summary">3.1.2. High-level summary</a></span></dt>
+<dt><span class="sect2"><a href="#util-fns-summary">3.1.3. Utility functions summary</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#err-handling">3.2. Error handling</a></span></dt>
+<dt><span class="sect1"><a href="#low-level">3.3. Low-level interface</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#bzcompress-init">3.3.1. BZ2_bzCompressInit</a></span></dt>
+<dt><span class="sect2"><a href="#bzCompress">3.3.2. BZ2_bzCompress</a></span></dt>
+<dt><span class="sect2"><a href="#bzCompress-end">3.3.3. BZ2_bzCompressEnd</a></span></dt>
+<dt><span class="sect2"><a href="#bzDecompress-init">3.3.4. BZ2_bzDecompressInit</a></span></dt>
+<dt><span class="sect2"><a href="#bzDecompress">3.3.5. BZ2_bzDecompress</a></span></dt>
+<dt><span class="sect2"><a href="#bzDecompress-end">3.3.6. BZ2_bzDecompressEnd</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#hl-interface">3.4. High-level interface</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#bzreadopen">3.4.1. BZ2_bzReadOpen</a></span></dt>
+<dt><span class="sect2"><a href="#bzread">3.4.2. BZ2_bzRead</a></span></dt>
+<dt><span class="sect2"><a href="#bzreadgetunused">3.4.3. BZ2_bzReadGetUnused</a></span></dt>
+<dt><span class="sect2"><a href="#bzreadclose">3.4.4. BZ2_bzReadClose</a></span></dt>
+<dt><span class="sect2"><a href="#bzwriteopen">3.4.5. BZ2_bzWriteOpen</a></span></dt>
+<dt><span class="sect2"><a href="#bzwrite">3.4.6. BZ2_bzWrite</a></span></dt>
+<dt><span class="sect2"><a href="#bzwriteclose">3.4.7. BZ2_bzWriteClose</a></span></dt>
+<dt><span class="sect2"><a href="#embed">3.4.8. Handling embedded compressed data streams</a></span></dt>
+<dt><span class="sect2"><a href="#std-rdwr">3.4.9. Standard file-reading/writing code</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#util-fns">3.5. Utility functions</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#bzbufftobuffcompress">3.5.1. BZ2_bzBuffToBuffCompress</a></span></dt>
+<dt><span class="sect2"><a href="#bzbufftobuffdecompress">3.5.2. BZ2_bzBuffToBuffDecompress</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#zlib-compat">3.6. zlib compatibility functions</a></span></dt>
+<dt><span class="sect1"><a href="#stdio-free">3.7. Using the library in a stdio-free environment</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="#stdio-bye">3.7.1. Getting rid of stdio</a></span></dt>
+<dt><span class="sect2"><a href="#critical-error">3.7.2. Critical error handling</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="#win-dll">3.8. Making a Windows DLL</a></span></dt>
+</dl>
+</div>
+<p>This chapter describes the programming interface to
+<tt class="computeroutput">libbzip2</tt>.</p>
+<p>For general background information, particularly about
+memory use and performance aspects, you'd be well advised to read
+<a href="#using">How to use bzip2</a> as well.</p>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="top-level"></a>3.1. Top-level structure</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">libbzip2</tt> is a flexible
+library for compressing and decompressing data in the
+<tt class="computeroutput">bzip2</tt> data format.  Although
+packaged as a single entity, it helps to regard the library as
+three separate parts: the low level interface, and the high level
+interface, and some utility functions.</p>
+<p>The structure of
+<tt class="computeroutput">libbzip2</tt>'s interfaces is similar
+to that of Jean-loup Gailly's and Mark Adler's excellent
+<tt class="computeroutput">zlib</tt> library.</p>
+<p>All externally visible symbols have names beginning
+<tt class="computeroutput">BZ2_</tt>.  This is new in version
+1.0.  The intention is to minimise pollution of the namespaces of
+library clients.</p>
+<p>To use any part of the library, you need to
+<tt class="computeroutput">#include &lt;bzlib.h&gt;</tt>
+into your sources.</p>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="ll-summary"></a>3.1.1. Low-level summary</h3></div></div>
+<div></div>
+</div>
+<p>This interface provides services for compressing and
+decompressing data in memory.  There's no provision for dealing
+with files, streams or any other I/O mechanisms, just straight
+memory-to-memory work.  In fact, this part of the library can be
+compiled without inclusion of
+<tt class="computeroutput">stdio.h</tt>, which may be helpful
+for embedded applications.</p>
+<p>The low-level part of the library has no global variables
+and is therefore thread-safe.</p>
+<p>Six routines make up the low level interface:
+<tt class="computeroutput">BZ2_bzCompressInit</tt>,
+<tt class="computeroutput">BZ2_bzCompress</tt>, and
+<tt class="computeroutput">BZ2_bzCompressEnd</tt> for
+compression, and a corresponding trio
+<tt class="computeroutput">BZ2_bzDecompressInit</tt>,
+<tt class="computeroutput">BZ2_bzDecompress</tt> and
+<tt class="computeroutput">BZ2_bzDecompressEnd</tt> for
+decompression.  The <tt class="computeroutput">*Init</tt>
+functions allocate memory for compression/decompression and do
+other initialisations, whilst the
+<tt class="computeroutput">*End</tt> functions close down
+operations and release memory.</p>
+<p>The real work is done by
+<tt class="computeroutput">BZ2_bzCompress</tt> and
+<tt class="computeroutput">BZ2_bzDecompress</tt>.  These
+compress and decompress data from a user-supplied input buffer to
+a user-supplied output buffer.  These buffers can be any size;
+arbitrary quantities of data are handled by making repeated calls
+to these functions.  This is a flexible mechanism allowing a
+consumer-pull style of activity, or producer-push, or a mixture
+of both.</p>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="hl-summary"></a>3.1.2. High-level summary</h3></div></div>
+<div></div>
+</div>
+<p>This interface provides some handy wrappers around the
+low-level interface to facilitate reading and writing
+<tt class="computeroutput">bzip2</tt> format files
+(<tt class="computeroutput">.bz2</tt> files).  The routines
+provide hooks to facilitate reading files in which the
+<tt class="computeroutput">bzip2</tt> data stream is embedded
+within some larger-scale file structure, or where there are
+multiple <tt class="computeroutput">bzip2</tt> data streams
+concatenated end-to-end.</p>
+<p>For reading files,
+<tt class="computeroutput">BZ2_bzReadOpen</tt>,
+<tt class="computeroutput">BZ2_bzRead</tt>,
+<tt class="computeroutput">BZ2_bzReadClose</tt> and 
+<tt class="computeroutput">BZ2_bzReadGetUnused</tt> are
+supplied.  For writing files,
+<tt class="computeroutput">BZ2_bzWriteOpen</tt>,
+<tt class="computeroutput">BZ2_bzWrite</tt> and
+<tt class="computeroutput">BZ2_bzWriteFinish</tt> are
+available.</p>
+<p>As with the low-level library, no global variables are used
+so the library is per se thread-safe.  However, if I/O errors
+occur whilst reading or writing the underlying compressed files,
+you may have to consult <tt class="computeroutput">errno</tt> to
+determine the cause of the error.  In that case, you'd need a C
+library which correctly supports
+<tt class="computeroutput">errno</tt> in a multithreaded
+environment.</p>
+<p>To make the library a little simpler and more portable,
+<tt class="computeroutput">BZ2_bzReadOpen</tt> and
+<tt class="computeroutput">BZ2_bzWriteOpen</tt> require you to
+pass them file handles (<tt class="computeroutput">FILE*</tt>s)
+which have previously been opened for reading or writing
+respectively.  That avoids portability problems associated with
+file operations and file attributes, whilst not being much of an
+imposition on the programmer.</p>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="util-fns-summary"></a>3.1.3. Utility functions summary</h3></div></div>
+<div></div>
+</div>
+<p>For very simple needs,
+<tt class="computeroutput">BZ2_bzBuffToBuffCompress</tt> and
+<tt class="computeroutput">BZ2_bzBuffToBuffDecompress</tt> are
+provided.  These compress data in memory from one buffer to
+another buffer in a single function call.  You should assess
+whether these functions fulfill your memory-to-memory
+compression/decompression requirements before investing effort in
+understanding the more general but more complex low-level
+interface.</p>
+<p>Yoshioka Tsuneo
+(<tt class="computeroutput">QWF00133@niftyserve.or.jp</tt> /
+<tt class="computeroutput">tsuneo-y@is.aist-nara.ac.jp</tt>) has
+contributed some functions to give better
+<tt class="computeroutput">zlib</tt> compatibility.  These
+functions are <tt class="computeroutput">BZ2_bzopen</tt>,
+<tt class="computeroutput">BZ2_bzread</tt>,
+<tt class="computeroutput">BZ2_bzwrite</tt>,
+<tt class="computeroutput">BZ2_bzflush</tt>,
+<tt class="computeroutput">BZ2_bzclose</tt>,
+<tt class="computeroutput">BZ2_bzerror</tt> and
+<tt class="computeroutput">BZ2_bzlibVersion</tt>.  You may find
+these functions more convenient for simple file reading and
+writing, than those in the high-level interface.  These functions
+are not (yet) officially part of the library, and are minimally
+documented here.  If they break, you get to keep all the pieces.
+I hope to document them properly when time permits.</p>
+<p>Yoshioka also contributed modifications to allow the
+library to be built as a Windows DLL.</p>
+</div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="err-handling"></a>3.2. Error handling</h2></div></div>
+<div></div>
+</div>
+<p>The library is designed to recover cleanly in all
+situations, including the worst-case situation of decompressing
+random data.  I'm not 100% sure that it can always do this, so
+you might want to add a signal handler to catch segmentation
+violations during decompression if you are feeling especially
+paranoid.  I would be interested in hearing more about the
+robustness of the library to corrupted compressed data.</p>
+<p>Version 1.0.3 more robust in this respect than any
+previous version.  Investigations with Valgrind (a tool for detecting
+problems with memory management) indicate
+that, at least for the few files I tested, all single-bit errors
+in the decompressed data are caught properly, with no
+segmentation faults, no uses of uninitialised data, no out of
+range reads or writes, and no infinite looping in the decompressor.
+So it's certainly pretty robust, although
+I wouldn't claim it to be totally bombproof.</p>
+<p>The file <tt class="computeroutput">bzlib.h</tt> contains
+all definitions needed to use the library.  In particular, you
+should definitely not include
+<tt class="computeroutput">bzlib_private.h</tt>.</p>
+<p>In <tt class="computeroutput">bzlib.h</tt>, the various
+return values are defined.  The following list is not intended as
+an exhaustive description of the circumstances in which a given
+value may be returned -- those descriptions are given later.
+Rather, it is intended to convey the rough meaning of each return
+value.  The first five actions are normal and not intended to
+denote an error situation.</p>
+<div class="variablelist"><dl>
+<dt><span class="term"><tt class="computeroutput">BZ_OK</tt></span></dt>
+<dd><p>The requested action was completed
+   successfully.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_RUN_OK, BZ_FLUSH_OK,
+    BZ_FINISH_OK</tt></span></dt>
+<dd><p>In 
+   <tt class="computeroutput">BZ2_bzCompress</tt>, the requested
+   flush/finish/nothing-special action was completed
+   successfully.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_STREAM_END</tt></span></dt>
+<dd><p>Compression of data was completed, or the
+   logical stream end was detected during
+   decompression.</p></dd>
+</dl></div>
+<p>The following return values indicate an error of some
+kind.</p>
+<div class="variablelist"><dl>
+<dt><span class="term"><tt class="computeroutput">BZ_CONFIG_ERROR</tt></span></dt>
+<dd><p>Indicates that the library has been improperly
+   compiled on your platform -- a major configuration error.
+   Specifically, it means that
+   <tt class="computeroutput">sizeof(char)</tt>,
+   <tt class="computeroutput">sizeof(short)</tt> and
+   <tt class="computeroutput">sizeof(int)</tt> are not 1, 2 and
+   4 respectively, as they should be.  Note that the library
+   should still work properly on 64-bit platforms which follow
+   the LP64 programming model -- that is, where
+   <tt class="computeroutput">sizeof(long)</tt> and
+   <tt class="computeroutput">sizeof(void*)</tt> are 8.  Under
+   LP64, <tt class="computeroutput">sizeof(int)</tt> is still 4,
+   so <tt class="computeroutput">libbzip2</tt>, which doesn't
+   use the <tt class="computeroutput">long</tt> type, is
+   OK.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_SEQUENCE_ERROR</tt></span></dt>
+<dd><p>When using the library, it is important to call
+   the functions in the correct sequence and with data structures
+   (buffers etc) in the correct states.
+   <tt class="computeroutput">libbzip2</tt> checks as much as it
+   can to ensure this is happening, and returns
+   <tt class="computeroutput">BZ_SEQUENCE_ERROR</tt> if not.
+   Code which complies precisely with the function semantics, as
+   detailed below, should never receive this value; such an event
+   denotes buggy code which you should
+   investigate.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_PARAM_ERROR</tt></span></dt>
+<dd><p>Returned when a parameter to a function call is
+   out of range or otherwise manifestly incorrect.  As with
+   <tt class="computeroutput">BZ_SEQUENCE_ERROR</tt>, this
+   denotes a bug in the client code.  The distinction between
+   <tt class="computeroutput">BZ_PARAM_ERROR</tt> and
+   <tt class="computeroutput">BZ_SEQUENCE_ERROR</tt> is a bit
+   hazy, but still worth making.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_MEM_ERROR</tt></span></dt>
+<dd><p>Returned when a request to allocate memory
+   failed.  Note that the quantity of memory needed to decompress
+   a stream cannot be determined until the stream's header has
+   been read.  So
+   <tt class="computeroutput">BZ2_bzDecompress</tt> and
+   <tt class="computeroutput">BZ2_bzRead</tt> may return
+   <tt class="computeroutput">BZ_MEM_ERROR</tt> even though some
+   of the compressed data has been read.  The same is not true
+   for compression; once
+   <tt class="computeroutput">BZ2_bzCompressInit</tt> or
+   <tt class="computeroutput">BZ2_bzWriteOpen</tt> have
+   successfully completed,
+   <tt class="computeroutput">BZ_MEM_ERROR</tt> cannot
+   occur.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_DATA_ERROR</tt></span></dt>
+<dd><p>Returned when a data integrity error is
+   detected during decompression.  Most importantly, this means
+   when stored and computed CRCs for the data do not match.  This
+   value is also returned upon detection of any other anomaly in
+   the compressed data.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_DATA_ERROR_MAGIC</tt></span></dt>
+<dd><p>As a special case of
+   <tt class="computeroutput">BZ_DATA_ERROR</tt>, it is
+   sometimes useful to know when the compressed stream does not
+   start with the correct magic bytes (<tt class="computeroutput">'B' 'Z'
+   'h'</tt>).</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_IO_ERROR</tt></span></dt>
+<dd><p>Returned by
+   <tt class="computeroutput">BZ2_bzRead</tt> and
+   <tt class="computeroutput">BZ2_bzWrite</tt> when there is an
+   error reading or writing in the compressed file, and by
+   <tt class="computeroutput">BZ2_bzReadOpen</tt> and
+   <tt class="computeroutput">BZ2_bzWriteOpen</tt> for attempts
+   to use a file for which the error indicator (viz,
+   <tt class="computeroutput">ferror(f)</tt>) is set.  On
+   receipt of <tt class="computeroutput">BZ_IO_ERROR</tt>, the
+   caller should consult <tt class="computeroutput">errno</tt>
+   and/or <tt class="computeroutput">perror</tt> to acquire
+   operating-system specific information about the
+   problem.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_UNEXPECTED_EOF</tt></span></dt>
+<dd><p>Returned by
+   <tt class="computeroutput">BZ2_bzRead</tt> when the
+   compressed file finishes before the logical end of stream is
+   detected.</p></dd>
+<dt><span class="term"><tt class="computeroutput">BZ_OUTBUFF_FULL</tt></span></dt>
+<dd><p>Returned by
+   <tt class="computeroutput">BZ2_bzBuffToBuffCompress</tt> and
+   <tt class="computeroutput">BZ2_bzBuffToBuffDecompress</tt> to
+   indicate that the output data will not fit into the output
+   buffer provided.</p></dd>
+</dl></div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="low-level"></a>3.3. Low-level interface</h2></div></div>
+<div></div>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzcompress-init"></a>3.3.1. <tt class="computeroutput">BZ2_bzCompressInit</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">typedef struct {
+  char *next_in;
+  unsigned int avail_in;
+  unsigned int total_in_lo32;
+  unsigned int total_in_hi32;
+
+  char *next_out;
+  unsigned int avail_out;
+  unsigned int total_out_lo32;
+  unsigned int total_out_hi32;
+
+  void *state;
+
+  void *(*bzalloc)(void *,int,int);
+  void (*bzfree)(void *,void *);
+  void *opaque;
+} bz_stream;
+
+int BZ2_bzCompressInit ( bz_stream *strm, 
+                         int blockSize100k, 
+                         int verbosity,
+                         int workFactor );</pre>
+<p>Prepares for compression.  The
+<tt class="computeroutput">bz_stream</tt> structure holds all
+data pertaining to the compression activity.  A
+<tt class="computeroutput">bz_stream</tt> structure should be
+allocated and initialised prior to the call.  The fields of
+<tt class="computeroutput">bz_stream</tt> comprise the entirety
+of the user-visible data.  <tt class="computeroutput">state</tt>
+is a pointer to the private data structures required for
+compression.</p>
+<p>Custom memory allocators are supported, via fields
+<tt class="computeroutput">bzalloc</tt>,
+<tt class="computeroutput">bzfree</tt>, and
+<tt class="computeroutput">opaque</tt>.  The value
+<tt class="computeroutput">opaque</tt> is passed to as the first
+argument to all calls to <tt class="computeroutput">bzalloc</tt>
+and <tt class="computeroutput">bzfree</tt>, but is otherwise
+ignored by the library.  The call <tt class="computeroutput">bzalloc (
+opaque, n, m )</tt> is expected to return a pointer
+<tt class="computeroutput">p</tt> to <tt class="computeroutput">n *
+m</tt> bytes of memory, and <tt class="computeroutput">bzfree (
+opaque, p )</tt> should free that memory.</p>
+<p>If you don't want to use a custom memory allocator, set
+<tt class="computeroutput">bzalloc</tt>,
+<tt class="computeroutput">bzfree</tt> and
+<tt class="computeroutput">opaque</tt> to
+<tt class="computeroutput">NULL</tt>, and the library will then
+use the standard <tt class="computeroutput">malloc</tt> /
+<tt class="computeroutput">free</tt> routines.</p>
+<p>Before calling
+<tt class="computeroutput">BZ2_bzCompressInit</tt>, fields
+<tt class="computeroutput">bzalloc</tt>,
+<tt class="computeroutput">bzfree</tt> and
+<tt class="computeroutput">opaque</tt> should be filled
+appropriately, as just described.  Upon return, the internal
+state will have been allocated and initialised, and
+<tt class="computeroutput">total_in_lo32</tt>,
+<tt class="computeroutput">total_in_hi32</tt>,
+<tt class="computeroutput">total_out_lo32</tt> and
+<tt class="computeroutput">total_out_hi32</tt> will have been
+set to zero.  These four fields are used by the library to inform
+the caller of the total amount of data passed into and out of the
+library, respectively.  You should not try to change them.  As of
+version 1.0, 64-bit counts are maintained, even on 32-bit
+platforms, using the <tt class="computeroutput">_hi32</tt>
+fields to store the upper 32 bits of the count.  So, for example,
+the total amount of data in is <tt class="computeroutput">(total_in_hi32
+&lt;&lt; 32) + total_in_lo32</tt>.</p>
+<p>Parameter <tt class="computeroutput">blockSize100k</tt>
+specifies the block size to be used for compression.  It should
+be a value between 1 and 9 inclusive, and the actual block size
+used is 100000 x this figure.  9 gives the best compression but
+takes most memory.</p>
+<p>Parameter <tt class="computeroutput">verbosity</tt> should
+be set to a number between 0 and 4 inclusive.  0 is silent, and
+greater numbers give increasingly verbose monitoring/debugging
+output.  If the library has been compiled with
+<tt class="computeroutput">-DBZ_NO_STDIO</tt>, no such output
+will appear for any verbosity setting.</p>
+<p>Parameter <tt class="computeroutput">workFactor</tt>
+controls how the compression phase behaves when presented with
+worst case, highly repetitive, input data.  If compression runs
+into difficulties caused by repetitive data, the library switches
+from the standard sorting algorithm to a fallback algorithm.  The
+fallback is slower than the standard algorithm by perhaps a
+factor of three, but always behaves reasonably, no matter how bad
+the input.</p>
+<p>Lower values of <tt class="computeroutput">workFactor</tt>
+reduce the amount of effort the standard algorithm will expend
+before resorting to the fallback.  You should set this parameter
+carefully; too low, and many inputs will be handled by the
+fallback algorithm and so compress rather slowly, too high, and
+your average-to-worst case compression times can become very
+large.  The default value of 30 gives reasonable behaviour over a
+wide range of circumstances.</p>
+<p>Allowable values range from 0 to 250 inclusive.  0 is a
+special case, equivalent to using the default value of 30.</p>
+<p>Note that the compressed output generated is the same
+regardless of whether or not the fallback algorithm is
+used.</p>
+<p>Be aware also that this parameter may disappear entirely in
+future versions of the library.  In principle it should be
+possible to devise a good way to automatically choose which
+algorithm to use.  Such a mechanism would render the parameter
+obsolete.</p>
+<p>Possible return values:</p>
+<pre class="programlisting">BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if strm is NULL 
+  or blockSize &lt; 1 or blockSize &gt; 9
+  or verbosity &lt; 0 or verbosity &gt; 4
+  or workFactor &lt; 0 or workFactor &gt; 250
+BZ_MEM_ERROR 
+  if not enough memory is available
+BZ_OK 
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">BZ2_bzCompress
+  if BZ_OK is returned
+  no specific action needed in case of error</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzCompress"></a>3.3.2. <tt class="computeroutput">BZ2_bzCompress</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzCompress ( bz_stream *strm, int action );</pre>
+<p>Provides more input and/or output buffer space for the
+library.  The caller maintains input and output buffers, and
+calls <tt class="computeroutput">BZ2_bzCompress</tt> to transfer
+data between them.</p>
+<p>Before each call to
+<tt class="computeroutput">BZ2_bzCompress</tt>,
+<tt class="computeroutput">next_in</tt> should point at the data
+to be compressed, and <tt class="computeroutput">avail_in</tt>
+should indicate how many bytes the library may read.
+<tt class="computeroutput">BZ2_bzCompress</tt> updates
+<tt class="computeroutput">next_in</tt>,
+<tt class="computeroutput">avail_in</tt> and
+<tt class="computeroutput">total_in</tt> to reflect the number
+of bytes it has read.</p>
+<p>Similarly, <tt class="computeroutput">next_out</tt> should
+point to a buffer in which the compressed data is to be placed,
+with <tt class="computeroutput">avail_out</tt> indicating how
+much output space is available.
+<tt class="computeroutput">BZ2_bzCompress</tt> updates
+<tt class="computeroutput">next_out</tt>,
+<tt class="computeroutput">avail_out</tt> and
+<tt class="computeroutput">total_out</tt> to reflect the number
+of bytes output.</p>
+<p>You may provide and remove as little or as much data as you
+like on each call of
+<tt class="computeroutput">BZ2_bzCompress</tt>.  In the limit,
+it is acceptable to supply and remove data one byte at a time,
+although this would be terribly inefficient.  You should always
+ensure that at least one byte of output space is available at
+each call.</p>
+<p>A second purpose of
+<tt class="computeroutput">BZ2_bzCompress</tt> is to request a
+change of mode of the compressed stream.</p>
+<p>Conceptually, a compressed stream can be in one of four
+states: IDLE, RUNNING, FLUSHING and FINISHING.  Before
+initialisation
+(<tt class="computeroutput">BZ2_bzCompressInit</tt>) and after
+termination (<tt class="computeroutput">BZ2_bzCompressEnd</tt>),
+a stream is regarded as IDLE.</p>
+<p>Upon initialisation
+(<tt class="computeroutput">BZ2_bzCompressInit</tt>), the stream
+is placed in the RUNNING state.  Subsequent calls to
+<tt class="computeroutput">BZ2_bzCompress</tt> should pass
+<tt class="computeroutput">BZ_RUN</tt> as the requested action;
+other actions are illegal and will result in
+<tt class="computeroutput">BZ_SEQUENCE_ERROR</tt>.</p>
+<p>At some point, the calling program will have provided all
+the input data it wants to.  It will then want to finish up -- in
+effect, asking the library to process any data it might have
+buffered internally.  In this state,
+<tt class="computeroutput">BZ2_bzCompress</tt> will no longer
+attempt to read data from
+<tt class="computeroutput">next_in</tt>, but it will want to
+write data to <tt class="computeroutput">next_out</tt>.  Because
+the output buffer supplied by the user can be arbitrarily small,
+the finishing-up operation cannot necessarily be done with a
+single call of
+<tt class="computeroutput">BZ2_bzCompress</tt>.</p>
+<p>Instead, the calling program passes
+<tt class="computeroutput">BZ_FINISH</tt> as an action to
+<tt class="computeroutput">BZ2_bzCompress</tt>.  This changes
+the stream's state to FINISHING.  Any remaining input (ie,
+<tt class="computeroutput">next_in[0 .. avail_in-1]</tt>) is
+compressed and transferred to the output buffer.  To do this,
+<tt class="computeroutput">BZ2_bzCompress</tt> must be called
+repeatedly until all the output has been consumed.  At that
+point, <tt class="computeroutput">BZ2_bzCompress</tt> returns
+<tt class="computeroutput">BZ_STREAM_END</tt>, and the stream's
+state is set back to IDLE.
+<tt class="computeroutput">BZ2_bzCompressEnd</tt> should then be
+called.</p>
+<p>Just to make sure the calling program does not cheat, the
+library makes a note of <tt class="computeroutput">avail_in</tt>
+at the time of the first call to
+<tt class="computeroutput">BZ2_bzCompress</tt> which has
+<tt class="computeroutput">BZ_FINISH</tt> as an action (ie, at
+the time the program has announced its intention to not supply
+any more input).  By comparing this value with that of
+<tt class="computeroutput">avail_in</tt> over subsequent calls
+to <tt class="computeroutput">BZ2_bzCompress</tt>, the library
+can detect any attempts to slip in more data to compress.  Any
+calls for which this is detected will return
+<tt class="computeroutput">BZ_SEQUENCE_ERROR</tt>.  This
+indicates a programming mistake which should be corrected.</p>
+<p>Instead of asking to finish, the calling program may ask
+<tt class="computeroutput">BZ2_bzCompress</tt> to take all the
+remaining input, compress it and terminate the current
+(Burrows-Wheeler) compression block.  This could be useful for
+error control purposes.  The mechanism is analogous to that for
+finishing: call <tt class="computeroutput">BZ2_bzCompress</tt>
+with an action of <tt class="computeroutput">BZ_FLUSH</tt>,
+remove output data, and persist with the
+<tt class="computeroutput">BZ_FLUSH</tt> action until the value
+<tt class="computeroutput">BZ_RUN</tt> is returned.  As with
+finishing, <tt class="computeroutput">BZ2_bzCompress</tt>
+detects any attempt to provide more input data once the flush has
+begun.</p>
+<p>Once the flush is complete, the stream returns to the
+normal RUNNING state.</p>
+<p>This all sounds pretty complex, but isn't really.  Here's a
+table which shows which actions are allowable in each state, what
+action will be taken, what the next state is, and what the
+non-error return values are.  Note that you can't explicitly ask
+what state the stream is in, but nor do you need to -- it can be
+inferred from the values returned by
+<tt class="computeroutput">BZ2_bzCompress</tt>.</p>
+<pre class="programlisting">IDLE/any
+  Illegal.  IDLE state only exists after BZ2_bzCompressEnd or
+  before BZ2_bzCompressInit.
+  Return value = BZ_SEQUENCE_ERROR
+
+RUNNING/BZ_RUN
+  Compress from next_in to next_out as much as possible.
+  Next state = RUNNING
+  Return value = BZ_RUN_OK
+
+RUNNING/BZ_FLUSH
+  Remember current value of next_in. Compress from next_in
+  to next_out as much as possible, but do not accept any more input.
+  Next state = FLUSHING
+  Return value = BZ_FLUSH_OK
+
+RUNNING/BZ_FINISH
+  Remember current value of next_in. Compress from next_in
+  to next_out as much as possible, but do not accept any more input.
+  Next state = FINISHING
+  Return value = BZ_FINISH_OK
+
+FLUSHING/BZ_FLUSH
+  Compress from next_in to next_out as much as possible, 
+  but do not accept any more input.
+  If all the existing input has been used up and all compressed
+  output has been removed
+    Next state = RUNNING; Return value = BZ_RUN_OK
+  else
+    Next state = FLUSHING; Return value = BZ_FLUSH_OK
+
+FLUSHING/other     
+  Illegal.
+  Return value = BZ_SEQUENCE_ERROR
+
+FINISHING/BZ_FINISH
+  Compress from next_in to next_out as much as possible,
+  but to not accept any more input.  
+  If all the existing input has been used up and all compressed
+  output has been removed
+    Next state = IDLE; Return value = BZ_STREAM_END
+  else
+    Next state = FINISHING; Return value = BZ_FINISHING
+
+FINISHING/other
+  Illegal.
+  Return value = BZ_SEQUENCE_ERROR</pre>
+<p>That still looks complicated?  Well, fair enough.  The
+usual sequence of calls for compressing a load of data is:</p>
+<div class="orderedlist"><ol type="1">
+<li><p>Get started with
+  <tt class="computeroutput">BZ2_bzCompressInit</tt>.</p></li>
+<li><p>Shovel data in and shlurp out its compressed form
+  using zero or more calls of
+  <tt class="computeroutput">BZ2_bzCompress</tt> with action =
+  <tt class="computeroutput">BZ_RUN</tt>.</p></li>
+<li><p>Finish up. Repeatedly call
+  <tt class="computeroutput">BZ2_bzCompress</tt> with action =
+  <tt class="computeroutput">BZ_FINISH</tt>, copying out the
+  compressed output, until
+  <tt class="computeroutput">BZ_STREAM_END</tt> is
+  returned.</p></li>
+<li><p>Close up and go home.  Call
+  <tt class="computeroutput">BZ2_bzCompressEnd</tt>.</p></li>
+</ol></div>
+<p>If the data you want to compress fits into your input
+buffer all at once, you can skip the calls of
+<tt class="computeroutput">BZ2_bzCompress ( ..., BZ_RUN )</tt>
+and just do the <tt class="computeroutput">BZ2_bzCompress ( ..., BZ_FINISH
+)</tt> calls.</p>
+<p>All required memory is allocated by
+<tt class="computeroutput">BZ2_bzCompressInit</tt>.  The
+compression library can accept any data at all (obviously).  So
+you shouldn't get any error return values from the
+<tt class="computeroutput">BZ2_bzCompress</tt> calls.  If you
+do, they will be
+<tt class="computeroutput">BZ_SEQUENCE_ERROR</tt>, and indicate
+a bug in your programming.</p>
+<p>Trivial other possible return values:</p>
+<pre class="programlisting">BZ_PARAM_ERROR
+  if strm is NULL, or strm-&gt;s is NULL</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzCompress-end"></a>3.3.3. <tt class="computeroutput">BZ2_bzCompressEnd</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzCompressEnd ( bz_stream *strm );</pre>
+<p>Releases all memory associated with a compression
+stream.</p>
+<p>Possible return values:</p>
+<pre class="programlisting">BZ_PARAM_ERROR  if strm is NULL or strm-&gt;s is NULL
+BZ_OK           otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzDecompress-init"></a>3.3.4. <tt class="computeroutput">BZ2_bzDecompressInit</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );</pre>
+<p>Prepares for decompression.  As with
+<tt class="computeroutput">BZ2_bzCompressInit</tt>, a
+<tt class="computeroutput">bz_stream</tt> record should be
+allocated and initialised before the call.  Fields
+<tt class="computeroutput">bzalloc</tt>,
+<tt class="computeroutput">bzfree</tt> and
+<tt class="computeroutput">opaque</tt> should be set if a custom
+memory allocator is required, or made
+<tt class="computeroutput">NULL</tt> for the normal
+<tt class="computeroutput">malloc</tt> /
+<tt class="computeroutput">free</tt> routines.  Upon return, the
+internal state will have been initialised, and
+<tt class="computeroutput">total_in</tt> and
+<tt class="computeroutput">total_out</tt> will be zero.</p>
+<p>For the meaning of parameter
+<tt class="computeroutput">verbosity</tt>, see
+<tt class="computeroutput">BZ2_bzCompressInit</tt>.</p>
+<p>If <tt class="computeroutput">small</tt> is nonzero, the
+library will use an alternative decompression algorithm which
+uses less memory but at the cost of decompressing more slowly
+(roughly speaking, half the speed, but the maximum memory
+requirement drops to around 2300k).  See <a href="#using">How to use bzip2</a>
+for more information on memory management.</p>
+<p>Note that the amount of memory needed to decompress a
+stream cannot be determined until the stream's header has been
+read, so even if
+<tt class="computeroutput">BZ2_bzDecompressInit</tt> succeeds, a
+subsequent <tt class="computeroutput">BZ2_bzDecompress</tt>
+could fail with
+<tt class="computeroutput">BZ_MEM_ERROR</tt>.</p>
+<p>Possible return values:</p>
+<pre class="programlisting">BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if ( small != 0 &amp;&amp; small != 1 )
+  or (verbosity &lt;; 0 || verbosity &gt; 4)
+BZ_MEM_ERROR
+  if insufficient memory is available</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">BZ2_bzDecompress
+  if BZ_OK was returned
+  no specific action required in case of error</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzDecompress"></a>3.3.5. <tt class="computeroutput">BZ2_bzDecompress</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzDecompress ( bz_stream *strm );</pre>
+<p>Provides more input and/out output buffer space for the
+library.  The caller maintains input and output buffers, and uses
+<tt class="computeroutput">BZ2_bzDecompress</tt> to transfer
+data between them.</p>
+<p>Before each call to
+<tt class="computeroutput">BZ2_bzDecompress</tt>,
+<tt class="computeroutput">next_in</tt> should point at the
+compressed data, and <tt class="computeroutput">avail_in</tt>
+should indicate how many bytes the library may read.
+<tt class="computeroutput">BZ2_bzDecompress</tt> updates
+<tt class="computeroutput">next_in</tt>,
+<tt class="computeroutput">avail_in</tt> and
+<tt class="computeroutput">total_in</tt> to reflect the number
+of bytes it has read.</p>
+<p>Similarly, <tt class="computeroutput">next_out</tt> should
+point to a buffer in which the uncompressed output is to be
+placed, with <tt class="computeroutput">avail_out</tt>
+indicating how much output space is available.
+<tt class="computeroutput">BZ2_bzCompress</tt> updates
+<tt class="computeroutput">next_out</tt>,
+<tt class="computeroutput">avail_out</tt> and
+<tt class="computeroutput">total_out</tt> to reflect the number
+of bytes output.</p>
+<p>You may provide and remove as little or as much data as you
+like on each call of
+<tt class="computeroutput">BZ2_bzDecompress</tt>.  In the limit,
+it is acceptable to supply and remove data one byte at a time,
+although this would be terribly inefficient.  You should always
+ensure that at least one byte of output space is available at
+each call.</p>
+<p>Use of <tt class="computeroutput">BZ2_bzDecompress</tt> is
+simpler than
+<tt class="computeroutput">BZ2_bzCompress</tt>.</p>
+<p>You should provide input and remove output as described
+above, and repeatedly call
+<tt class="computeroutput">BZ2_bzDecompress</tt> until
+<tt class="computeroutput">BZ_STREAM_END</tt> is returned.
+Appearance of <tt class="computeroutput">BZ_STREAM_END</tt>
+denotes that <tt class="computeroutput">BZ2_bzDecompress</tt>
+has detected the logical end of the compressed stream.
+<tt class="computeroutput">BZ2_bzDecompress</tt> will not
+produce <tt class="computeroutput">BZ_STREAM_END</tt> until all
+output data has been placed into the output buffer, so once
+<tt class="computeroutput">BZ_STREAM_END</tt> appears, you are
+guaranteed to have available all the decompressed output, and
+<tt class="computeroutput">BZ2_bzDecompressEnd</tt> can safely
+be called.</p>
+<p>If case of an error return value, you should call
+<tt class="computeroutput">BZ2_bzDecompressEnd</tt> to clean up
+and release memory.</p>
+<p>Possible return values:</p>
+<pre class="programlisting">BZ_PARAM_ERROR
+  if strm is NULL or strm-&gt;s is NULL
+  or strm-&gt;avail_out &lt; 1
+BZ_DATA_ERROR
+  if a data integrity error is detected in the compressed stream
+BZ_DATA_ERROR_MAGIC
+  if the compressed stream doesn't begin with the right magic bytes
+BZ_MEM_ERROR
+  if there wasn't enough memory available
+BZ_STREAM_END
+  if the logical end of the data stream was detected and all
+  output in has been consumed, eg s--&gt;avail_out &gt; 0
+BZ_OK
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">BZ2_bzDecompress
+  if BZ_OK was returned
+BZ2_bzDecompressEnd
+  otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzDecompress-end"></a>3.3.6. <tt class="computeroutput">BZ2_bzDecompressEnd</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzDecompressEnd ( bz_stream *strm );</pre>
+<p>Releases all memory associated with a decompression
+stream.</p>
+<p>Possible return values:</p>
+<pre class="programlisting">BZ_PARAM_ERROR
+  if strm is NULL or strm-&gt;s is NULL
+BZ_OK
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">  None.</pre>
+</div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="hl-interface"></a>3.4. High-level interface</h2></div></div>
+<div></div>
+</div>
+<p>This interface provides functions for reading and writing
+<tt class="computeroutput">bzip2</tt> format files.  First, some
+general points.</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p>All of the functions take an
+  <tt class="computeroutput">int*</tt> first argument,
+  <tt class="computeroutput">bzerror</tt>.  After each call,
+  <tt class="computeroutput">bzerror</tt> should be consulted
+  first to determine the outcome of the call.  If
+  <tt class="computeroutput">bzerror</tt> is
+  <tt class="computeroutput">BZ_OK</tt>, the call completed
+  successfully, and only then should the return value of the
+  function (if any) be consulted.  If
+  <tt class="computeroutput">bzerror</tt> is
+  <tt class="computeroutput">BZ_IO_ERROR</tt>, there was an
+  error reading/writing the underlying compressed file, and you
+  should then consult <tt class="computeroutput">errno</tt> /
+  <tt class="computeroutput">perror</tt> to determine the cause
+  of the difficulty.  <tt class="computeroutput">bzerror</tt>
+  may also be set to various other values; precise details are
+  given on a per-function basis below.</p></li>
+<li style="list-style-type: disc"><p>If <tt class="computeroutput">bzerror</tt> indicates
+  an error (ie, anything except
+  <tt class="computeroutput">BZ_OK</tt> and
+  <tt class="computeroutput">BZ_STREAM_END</tt>), you should
+  immediately call
+  <tt class="computeroutput">BZ2_bzReadClose</tt> (or
+  <tt class="computeroutput">BZ2_bzWriteClose</tt>, depending on
+  whether you are attempting to read or to write) to free up all
+  resources associated with the stream.  Once an error has been
+  indicated, behaviour of all calls except
+  <tt class="computeroutput">BZ2_bzReadClose</tt>
+  (<tt class="computeroutput">BZ2_bzWriteClose</tt>) is
+  undefined.  The implication is that (1)
+  <tt class="computeroutput">bzerror</tt> should be checked
+  after each call, and (2) if
+  <tt class="computeroutput">bzerror</tt> indicates an error,
+  <tt class="computeroutput">BZ2_bzReadClose</tt>
+  (<tt class="computeroutput">BZ2_bzWriteClose</tt>) should then
+  be called to clean up.</p></li>
+<li style="list-style-type: disc"><p>The <tt class="computeroutput">FILE*</tt> arguments
+  passed to <tt class="computeroutput">BZ2_bzReadOpen</tt> /
+  <tt class="computeroutput">BZ2_bzWriteOpen</tt> should be set
+  to binary mode.  Most Unix systems will do this by default, but
+  other platforms, including Windows and Mac, will not.  If you
+  omit this, you may encounter problems when moving code to new
+  platforms.</p></li>
+<li style="list-style-type: disc"><p>Memory allocation requests are handled by
+  <tt class="computeroutput">malloc</tt> /
+  <tt class="computeroutput">free</tt>.  At present there is no
+  facility for user-defined memory allocators in the file I/O
+  functions (could easily be added, though).</p></li>
+</ul></div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzreadopen"></a>3.4.1. <tt class="computeroutput">BZ2_bzReadOpen</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">typedef void BZFILE;
+
+BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f, 
+                        int verbosity, int small,
+                        void *unused, int nUnused );</pre>
+<p>Prepare to read compressed data from file handle
+<tt class="computeroutput">f</tt>.
+<tt class="computeroutput">f</tt> should refer to a file which
+has been opened for reading, and for which the error indicator
+(<tt class="computeroutput">ferror(f)</tt>)is not set.  If
+<tt class="computeroutput">small</tt> is 1, the library will try
+to decompress using less memory, at the expense of speed.</p>
+<p>For reasons explained below,
+<tt class="computeroutput">BZ2_bzRead</tt> will decompress the
+<tt class="computeroutput">nUnused</tt> bytes starting at
+<tt class="computeroutput">unused</tt>, before starting to read
+from the file <tt class="computeroutput">f</tt>.  At most
+<tt class="computeroutput">BZ_MAX_UNUSED</tt> bytes may be
+supplied like this.  If this facility is not required, you should
+pass <tt class="computeroutput">NULL</tt> and
+<tt class="computeroutput">0</tt> for
+<tt class="computeroutput">unused</tt> and
+n<tt class="computeroutput">Unused</tt> respectively.</p>
+<p>For the meaning of parameters
+<tt class="computeroutput">small</tt> and
+<tt class="computeroutput">verbosity</tt>, see
+<tt class="computeroutput">BZ2_bzDecompressInit</tt>.</p>
+<p>The amount of memory needed to decompress a file cannot be
+determined until the file's header has been read.  So it is
+possible that <tt class="computeroutput">BZ2_bzReadOpen</tt>
+returns <tt class="computeroutput">BZ_OK</tt> but a subsequent
+call of <tt class="computeroutput">BZ2_bzRead</tt> will return
+<tt class="computeroutput">BZ_MEM_ERROR</tt>.</p>
+<p>Possible assignments to
+<tt class="computeroutput">bzerror</tt>:</p>
+<pre class="programlisting">BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if f is NULL
+  or small is neither 0 nor 1
+  or ( unused == NULL &amp;&amp; nUnused != 0 )
+  or ( unused != NULL &amp;&amp; !(0 &lt;= nUnused &lt;= BZ_MAX_UNUSED) )
+BZ_IO_ERROR
+  if ferror(f) is nonzero
+BZ_MEM_ERROR
+  if insufficient memory is available
+BZ_OK
+  otherwise.</pre>
+<p>Possible return values:</p>
+<pre class="programlisting">Pointer to an abstract BZFILE
+  if bzerror is BZ_OK
+NULL
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">BZ2_bzRead
+  if bzerror is BZ_OK
+BZ2_bzClose
+  otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzread"></a>3.4.2. <tt class="computeroutput">BZ2_bzRead</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );</pre>
+<p>Reads up to <tt class="computeroutput">len</tt>
+(uncompressed) bytes from the compressed file
+<tt class="computeroutput">b</tt> into the buffer
+<tt class="computeroutput">buf</tt>.  If the read was
+successful, <tt class="computeroutput">bzerror</tt> is set to
+<tt class="computeroutput">BZ_OK</tt> and the number of bytes
+read is returned.  If the logical end-of-stream was detected,
+<tt class="computeroutput">bzerror</tt> will be set to
+<tt class="computeroutput">BZ_STREAM_END</tt>, and the number of
+bytes read is returned.  All other
+<tt class="computeroutput">bzerror</tt> values denote an
+error.</p>
+<p><tt class="computeroutput">BZ2_bzRead</tt> will supply
+<tt class="computeroutput">len</tt> bytes, unless the logical
+stream end is detected or an error occurs.  Because of this, it
+is possible to detect the stream end by observing when the number
+of bytes returned is less than the number requested.
+Nevertheless, this is regarded as inadvisable; you should instead
+check <tt class="computeroutput">bzerror</tt> after every call
+and watch out for
+<tt class="computeroutput">BZ_STREAM_END</tt>.</p>
+<p>Internally, <tt class="computeroutput">BZ2_bzRead</tt>
+copies data from the compressed file in chunks of size
+<tt class="computeroutput">BZ_MAX_UNUSED</tt> bytes before
+decompressing it.  If the file contains more bytes than strictly
+needed to reach the logical end-of-stream,
+<tt class="computeroutput">BZ2_bzRead</tt> will almost certainly
+read some of the trailing data before signalling
+<tt class="computeroutput">BZ_SEQUENCE_END</tt>.  To collect the
+read but unused data once
+<tt class="computeroutput">BZ_SEQUENCE_END</tt> has appeared,
+call <tt class="computeroutput">BZ2_bzReadGetUnused</tt>
+immediately before
+<tt class="computeroutput">BZ2_bzReadClose</tt>.</p>
+<p>Possible assignments to
+<tt class="computeroutput">bzerror</tt>:</p>
+<pre class="programlisting">BZ_PARAM_ERROR
+  if b is NULL or buf is NULL or len &lt; 0
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzWriteOpen
+BZ_IO_ERROR
+  if there is an error reading from the compressed file
+BZ_UNEXPECTED_EOF
+  if the compressed file ended before 
+  the logical end-of-stream was detected
+BZ_DATA_ERROR
+  if a data integrity error was detected in the compressed stream
+BZ_DATA_ERROR_MAGIC
+  if the stream does not begin with the requisite header bytes 
+  (ie, is not a bzip2 data file).  This is really 
+  a special case of BZ_DATA_ERROR.
+BZ_MEM_ERROR
+  if insufficient memory was available
+BZ_STREAM_END
+  if the logical end of stream was detected.
+BZ_OK
+  otherwise.</pre>
+<p>Possible return values:</p>
+<pre class="programlisting">number of bytes read
+  if bzerror is BZ_OK or BZ_STREAM_END
+undefined
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
+  if bzerror is BZ_OK
+collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
+  if bzerror is BZ_SEQUENCE_END
+BZ2_bzReadClose
+  otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzreadgetunused"></a>3.4.3. <tt class="computeroutput">BZ2_bzReadGetUnused</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b, 
+                          void** unused, int* nUnused );</pre>
+<p>Returns data which was read from the compressed file but
+was not needed to get to the logical end-of-stream.
+<tt class="computeroutput">*unused</tt> is set to the address of
+the data, and <tt class="computeroutput">*nUnused</tt> to the
+number of bytes.  <tt class="computeroutput">*nUnused</tt> will
+be set to a value between <tt class="computeroutput">0</tt> and
+<tt class="computeroutput">BZ_MAX_UNUSED</tt> inclusive.</p>
+<p>This function may only be called once
+<tt class="computeroutput">BZ2_bzRead</tt> has signalled
+<tt class="computeroutput">BZ_STREAM_END</tt> but before
+<tt class="computeroutput">BZ2_bzReadClose</tt>.</p>
+<p>Possible assignments to
+<tt class="computeroutput">bzerror</tt>:</p>
+<pre class="programlisting">BZ_PARAM_ERROR
+  if b is NULL
+  or unused is NULL or nUnused is NULL
+BZ_SEQUENCE_ERROR
+  if BZ_STREAM_END has not been signalled
+  or if b was opened with BZ2_bzWriteOpen
+BZ_OK
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">BZ2_bzReadClose</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzreadclose"></a>3.4.4. <tt class="computeroutput">BZ2_bzReadClose</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">void BZ2_bzReadClose ( int *bzerror, BZFILE *b );</pre>
+<p>Releases all memory pertaining to the compressed file
+<tt class="computeroutput">b</tt>.
+<tt class="computeroutput">BZ2_bzReadClose</tt> does not call
+<tt class="computeroutput">fclose</tt> on the underlying file
+handle, so you should do that yourself if appropriate.
+<tt class="computeroutput">BZ2_bzReadClose</tt> should be called
+to clean up after all error situations.</p>
+<p>Possible assignments to
+<tt class="computeroutput">bzerror</tt>:</p>
+<pre class="programlisting">BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzOpenWrite
+BZ_OK
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">none</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzwriteopen"></a>3.4.5. <tt class="computeroutput">BZ2_bzWriteOpen</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f, 
+                         int blockSize100k, int verbosity,
+                         int workFactor );</pre>
+<p>Prepare to write compressed data to file handle
+<tt class="computeroutput">f</tt>.
+<tt class="computeroutput">f</tt> should refer to a file which
+has been opened for writing, and for which the error indicator
+(<tt class="computeroutput">ferror(f)</tt>)is not set.</p>
+<p>For the meaning of parameters
+<tt class="computeroutput">blockSize100k</tt>,
+<tt class="computeroutput">verbosity</tt> and
+<tt class="computeroutput">workFactor</tt>, see
+<tt class="computeroutput">BZ2_bzCompressInit</tt>.</p>
+<p>All required memory is allocated at this stage, so if the
+call completes successfully,
+<tt class="computeroutput">BZ_MEM_ERROR</tt> cannot be signalled
+by a subsequent call to
+<tt class="computeroutput">BZ2_bzWrite</tt>.</p>
+<p>Possible assignments to
+<tt class="computeroutput">bzerror</tt>:</p>
+<pre class="programlisting">BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if f is NULL
+  or blockSize100k &lt; 1 or blockSize100k &gt; 9
+BZ_IO_ERROR
+  if ferror(f) is nonzero
+BZ_MEM_ERROR
+  if insufficient memory is available
+BZ_OK
+  otherwise</pre>
+<p>Possible return values:</p>
+<pre class="programlisting">Pointer to an abstract BZFILE
+  if bzerror is BZ_OK
+NULL
+  otherwise</pre>
+<p>Allowable next actions:</p>
+<pre class="programlisting">BZ2_bzWrite
+  if bzerror is BZ_OK
+  (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
+BZ2_bzWriteClose
+  otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzwrite"></a>3.4.6. <tt class="computeroutput">BZ2_bzWrite</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );</pre>
+<p>Absorbs <tt class="computeroutput">len</tt> bytes from the
+buffer <tt class="computeroutput">buf</tt>, eventually to be
+compressed and written to the file.</p>
+<p>Possible assignments to
+<tt class="computeroutput">bzerror</tt>:</p>
+<pre class="programlisting">BZ_PARAM_ERROR
+  if b is NULL or buf is NULL or len &lt; 0
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzReadOpen
+BZ_IO_ERROR
+  if there is an error writing the compressed file.
+BZ_OK
+  otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzwriteclose"></a>3.4.7. <tt class="computeroutput">BZ2_bzWriteClose</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
+                       int abandon,
+                       unsigned int* nbytes_in,
+                       unsigned int* nbytes_out );
+
+void BZ2_bzWriteClose64( int *bzerror, BZFILE* f,
+                         int abandon,
+                         unsigned int* nbytes_in_lo32,
+                         unsigned int* nbytes_in_hi32,
+                         unsigned int* nbytes_out_lo32,
+                         unsigned int* nbytes_out_hi32 );</pre>
+<p>Compresses and flushes to the compressed file all data so
+far supplied by <tt class="computeroutput">BZ2_bzWrite</tt>.
+The logical end-of-stream markers are also written, so subsequent
+calls to <tt class="computeroutput">BZ2_bzWrite</tt> are
+illegal.  All memory associated with the compressed file
+<tt class="computeroutput">b</tt> is released.
+<tt class="computeroutput">fflush</tt> is called on the
+compressed file, but it is not
+<tt class="computeroutput">fclose</tt>'d.</p>
+<p>If <tt class="computeroutput">BZ2_bzWriteClose</tt> is
+called to clean up after an error, the only action is to release
+the memory.  The library records the error codes issued by
+previous calls, so this situation will be detected automatically.
+There is no attempt to complete the compression operation, nor to
+<tt class="computeroutput">fflush</tt> the compressed file.  You
+can force this behaviour to happen even in the case of no error,
+by passing a nonzero value to
+<tt class="computeroutput">abandon</tt>.</p>
+<p>If <tt class="computeroutput">nbytes_in</tt> is non-null,
+<tt class="computeroutput">*nbytes_in</tt> will be set to be the
+total volume of uncompressed data handled.  Similarly,
+<tt class="computeroutput">nbytes_out</tt> will be set to the
+total volume of compressed data written.  For compatibility with
+older versions of the library,
+<tt class="computeroutput">BZ2_bzWriteClose</tt> only yields the
+lower 32 bits of these counts.  Use
+<tt class="computeroutput">BZ2_bzWriteClose64</tt> if you want
+the full 64 bit counts.  These two functions are otherwise
+absolutely identical.</p>
+<p>Possible assignments to
+<tt class="computeroutput">bzerror</tt>:</p>
+<pre class="programlisting">BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzReadOpen
+BZ_IO_ERROR
+  if there is an error writing the compressed file
+BZ_OK
+  otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="embed"></a>3.4.8. Handling embedded compressed data streams</h3></div></div>
+<div></div>
+</div>
+<p>The high-level library facilitates use of
+<tt class="computeroutput">bzip2</tt> data streams which form
+some part of a surrounding, larger data stream.</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p>For writing, the library takes an open file handle,
+  writes compressed data to it,
+  <tt class="computeroutput">fflush</tt>es it but does not
+  <tt class="computeroutput">fclose</tt> it.  The calling
+  application can write its own data before and after the
+  compressed data stream, using that same file handle.</p></li>
+<li style="list-style-type: disc"><p>Reading is more complex, and the facilities are not as
+  general as they could be since generality is hard to reconcile
+  with efficiency.  <tt class="computeroutput">BZ2_bzRead</tt>
+  reads from the compressed file in blocks of size
+  <tt class="computeroutput">BZ_MAX_UNUSED</tt> bytes, and in
+  doing so probably will overshoot the logical end of compressed
+  stream.  To recover this data once decompression has ended,
+  call <tt class="computeroutput">BZ2_bzReadGetUnused</tt> after
+  the last call of <tt class="computeroutput">BZ2_bzRead</tt>
+  (the one returning
+  <tt class="computeroutput">BZ_STREAM_END</tt>) but before
+  calling
+  <tt class="computeroutput">BZ2_bzReadClose</tt>.</p></li>
+</ul></div>
+<p>This mechanism makes it easy to decompress multiple
+<tt class="computeroutput">bzip2</tt> streams placed end-to-end.
+As the end of one stream, when
+<tt class="computeroutput">BZ2_bzRead</tt> returns
+<tt class="computeroutput">BZ_STREAM_END</tt>, call
+<tt class="computeroutput">BZ2_bzReadGetUnused</tt> to collect
+the unused data (copy it into your own buffer somewhere).  That
+data forms the start of the next compressed stream.  To start
+uncompressing that next stream, call
+<tt class="computeroutput">BZ2_bzReadOpen</tt> again, feeding in
+the unused data via the <tt class="computeroutput">unused</tt> /
+<tt class="computeroutput">nUnused</tt> parameters.  Keep doing
+this until <tt class="computeroutput">BZ_STREAM_END</tt> return
+coincides with the physical end of file
+(<tt class="computeroutput">feof(f)</tt>).  In this situation
+<tt class="computeroutput">BZ2_bzReadGetUnused</tt> will of
+course return no data.</p>
+<p>This should give some feel for how the high-level interface
+can be used.  If you require extra flexibility, you'll have to
+bite the bullet and get to grips with the low-level
+interface.</p>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="std-rdwr"></a>3.4.9. Standard file-reading/writing code</h3></div></div>
+<div></div>
+</div>
+<p>Here's how you'd write data to a compressed file:</p>
+<pre class="programlisting">FILE*   f;
+BZFILE* b;
+int     nBuf;
+char    buf[ /* whatever size you like */ ];
+int     bzerror;
+int     nWritten;
+
+f = fopen ( "myfile.bz2", "w" );
+if ( !f ) {
+ /* handle error */
+}
+b = BZ2_bzWriteOpen( &amp;bzerror, f, 9 );
+if (bzerror != BZ_OK) {
+ BZ2_bzWriteClose ( b );
+ /* handle error */
+}
+
+while ( /* condition */ ) {
+ /* get data to write into buf, and set nBuf appropriately */
+ nWritten = BZ2_bzWrite ( &amp;bzerror, b, buf, nBuf );
+ if (bzerror == BZ_IO_ERROR) { 
+   BZ2_bzWriteClose ( &amp;bzerror, b );
+   /* handle error */
+ }
+}
+
+BZ2_bzWriteClose( &amp;bzerror, b );
+if (bzerror == BZ_IO_ERROR) {
+ /* handle error */
+}</pre>
+<p>And to read from a compressed file:</p>
+<pre class="programlisting">FILE*   f;
+BZFILE* b;
+int     nBuf;
+char    buf[ /* whatever size you like */ ];
+int     bzerror;
+int     nWritten;
+
+f = fopen ( "myfile.bz2", "r" );
+if ( !f ) {
+  /* handle error */
+}
+b = BZ2_bzReadOpen ( &amp;bzerror, f, 0, NULL, 0 );
+if ( bzerror != BZ_OK ) {
+  BZ2_bzReadClose ( &amp;bzerror, b );
+  /* handle error */
+}
+
+bzerror = BZ_OK;
+while ( bzerror == BZ_OK &amp;&amp; /* arbitrary other conditions */) {
+  nBuf = BZ2_bzRead ( &amp;bzerror, b, buf, /* size of buf */ );
+  if ( bzerror == BZ_OK ) {
+    /* do something with buf[0 .. nBuf-1] */
+  }
+}
+if ( bzerror != BZ_STREAM_END ) {
+   BZ2_bzReadClose ( &amp;bzerror, b );
+   /* handle error */
+} else {
+   BZ2_bzReadClose ( &amp;bzerror );
+}</pre>
+</div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="util-fns"></a>3.5. Utility functions</h2></div></div>
+<div></div>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzbufftobuffcompress"></a>3.5.1. <tt class="computeroutput">BZ2_bzBuffToBuffCompress</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzBuffToBuffCompress( char*         dest,
+                              unsigned int* destLen,
+                              char*         source,
+                              unsigned int  sourceLen,
+                              int           blockSize100k,
+                              int           verbosity,
+                              int           workFactor );</pre>
+<p>Attempts to compress the data in <tt class="computeroutput">source[0
+.. sourceLen-1]</tt> into the destination buffer,
+<tt class="computeroutput">dest[0 .. *destLen-1]</tt>.  If the
+destination buffer is big enough,
+<tt class="computeroutput">*destLen</tt> is set to the size of
+the compressed data, and <tt class="computeroutput">BZ_OK</tt>
+is returned.  If the compressed data won't fit,
+<tt class="computeroutput">*destLen</tt> is unchanged, and
+<tt class="computeroutput">BZ_OUTBUFF_FULL</tt> is
+returned.</p>
+<p>Compression in this manner is a one-shot event, done with a
+single call to this function.  The resulting compressed data is a
+complete <tt class="computeroutput">bzip2</tt> format data
+stream.  There is no mechanism for making additional calls to
+provide extra input data.  If you want that kind of mechanism,
+use the low-level interface.</p>
+<p>For the meaning of parameters
+<tt class="computeroutput">blockSize100k</tt>,
+<tt class="computeroutput">verbosity</tt> and
+<tt class="computeroutput">workFactor</tt>, see
+<tt class="computeroutput">BZ2_bzCompressInit</tt>.</p>
+<p>To guarantee that the compressed data will fit in its
+buffer, allocate an output buffer of size 1% larger than the
+uncompressed data, plus six hundred extra bytes.</p>
+<p><tt class="computeroutput">BZ2_bzBuffToBuffDecompress</tt>
+will not write data at or beyond
+<tt class="computeroutput">dest[*destLen]</tt>, even in case of
+buffer overflow.</p>
+<p>Possible return values:</p>
+<pre class="programlisting">BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if dest is NULL or destLen is NULL
+  or blockSize100k &lt; 1 or blockSize100k &gt; 9
+  or verbosity &lt; 0 or verbosity &gt; 4
+  or workFactor &lt; 0 or workFactor &gt; 250
+BZ_MEM_ERROR
+  if insufficient memory is available 
+BZ_OUTBUFF_FULL
+  if the size of the compressed data exceeds *destLen
+BZ_OK
+  otherwise</pre>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="bzbufftobuffdecompress"></a>3.5.2. <tt class="computeroutput">BZ2_bzBuffToBuffDecompress</tt></h3></div></div>
+<div></div>
+</div>
+<pre class="programlisting">int BZ2_bzBuffToBuffDecompress( char*         dest,
+                                unsigned int* destLen,
+                                char*         source,
+                                unsigned int  sourceLen,
+                                int           small,
+                                int           verbosity );</pre>
+<p>Attempts to decompress the data in <tt class="computeroutput">source[0
+.. sourceLen-1]</tt> into the destination buffer,
+<tt class="computeroutput">dest[0 .. *destLen-1]</tt>.  If the
+destination buffer is big enough,
+<tt class="computeroutput">*destLen</tt> is set to the size of
+the uncompressed data, and <tt class="computeroutput">BZ_OK</tt>
+is returned.  If the compressed data won't fit,
+<tt class="computeroutput">*destLen</tt> is unchanged, and
+<tt class="computeroutput">BZ_OUTBUFF_FULL</tt> is
+returned.</p>
+<p><tt class="computeroutput">source</tt> is assumed to hold
+a complete <tt class="computeroutput">bzip2</tt> format data
+stream.
+<tt class="computeroutput">BZ2_bzBuffToBuffDecompress</tt> tries
+to decompress the entirety of the stream into the output
+buffer.</p>
+<p>For the meaning of parameters
+<tt class="computeroutput">small</tt> and
+<tt class="computeroutput">verbosity</tt>, see
+<tt class="computeroutput">BZ2_bzDecompressInit</tt>.</p>
+<p>Because the compression ratio of the compressed data cannot
+be known in advance, there is no easy way to guarantee that the
+output buffer will be big enough.  You may of course make
+arrangements in your code to record the size of the uncompressed
+data, but such a mechanism is beyond the scope of this
+library.</p>
+<p><tt class="computeroutput">BZ2_bzBuffToBuffDecompress</tt>
+will not write data at or beyond
+<tt class="computeroutput">dest[*destLen]</tt>, even in case of
+buffer overflow.</p>
+<p>Possible return values:</p>
+<pre class="programlisting">BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if dest is NULL or destLen is NULL
+  or small != 0 &amp;&amp; small != 1
+  or verbosity &lt; 0 or verbosity &gt; 4
+BZ_MEM_ERROR
+  if insufficient memory is available 
+BZ_OUTBUFF_FULL
+  if the size of the compressed data exceeds *destLen
+BZ_DATA_ERROR
+  if a data integrity error was detected in the compressed data
+BZ_DATA_ERROR_MAGIC
+  if the compressed data doesn't begin with the right magic bytes
+BZ_UNEXPECTED_EOF
+  if the compressed data ends unexpectedly
+BZ_OK
+  otherwise</pre>
+</div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="zlib-compat"></a>3.6. <tt class="computeroutput">zlib</tt> compatibility functions</h2></div></div>
+<div></div>
+</div>
+<p>Yoshioka Tsuneo has contributed some functions to give
+better <tt class="computeroutput">zlib</tt> compatibility.
+These functions are <tt class="computeroutput">BZ2_bzopen</tt>,
+<tt class="computeroutput">BZ2_bzread</tt>,
+<tt class="computeroutput">BZ2_bzwrite</tt>,
+<tt class="computeroutput">BZ2_bzflush</tt>,
+<tt class="computeroutput">BZ2_bzclose</tt>,
+<tt class="computeroutput">BZ2_bzerror</tt> and
+<tt class="computeroutput">BZ2_bzlibVersion</tt>.  These
+functions are not (yet) officially part of the library.  If they
+break, you get to keep all the pieces.  Nevertheless, I think
+they work ok.</p>
+<pre class="programlisting">typedef void BZFILE;
+
+const char * BZ2_bzlibVersion ( void );</pre>
+<p>Returns a string indicating the library version.</p>
+<pre class="programlisting">BZFILE * BZ2_bzopen  ( const char *path, const char *mode );
+BZFILE * BZ2_bzdopen ( int        fd,    const char *mode );</pre>
+<p>Opens a <tt class="computeroutput">.bz2</tt> file for
+reading or writing, using either its name or a pre-existing file
+descriptor.  Analogous to <tt class="computeroutput">fopen</tt>
+and <tt class="computeroutput">fdopen</tt>.</p>
+<pre class="programlisting">int BZ2_bzread  ( BZFILE* b, void* buf, int len );
+int BZ2_bzwrite ( BZFILE* b, void* buf, int len );</pre>
+<p>Reads/writes data from/to a previously opened
+<tt class="computeroutput">BZFILE</tt>.  Analogous to
+<tt class="computeroutput">fread</tt> and
+<tt class="computeroutput">fwrite</tt>.</p>
+<pre class="programlisting">int  BZ2_bzflush ( BZFILE* b );
+void BZ2_bzclose ( BZFILE* b );</pre>
+<p>Flushes/closes a <tt class="computeroutput">BZFILE</tt>.
+<tt class="computeroutput">BZ2_bzflush</tt> doesn't actually do
+anything.  Analogous to <tt class="computeroutput">fflush</tt>
+and <tt class="computeroutput">fclose</tt>.</p>
+<pre class="programlisting">const char * BZ2_bzerror ( BZFILE *b, int *errnum )</pre>
+<p>Returns a string describing the more recent error status of
+<tt class="computeroutput">b</tt>, and also sets
+<tt class="computeroutput">*errnum</tt> to its numerical
+value.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="stdio-free"></a>3.7. Using the library in a <tt class="computeroutput">stdio</tt>-free environment</h2></div></div>
+<div></div>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="stdio-bye"></a>3.7.1. Getting rid of <tt class="computeroutput">stdio</tt></h3></div></div>
+<div></div>
+</div>
+<p>In a deeply embedded application, you might want to use
+just the memory-to-memory functions.  You can do this
+conveniently by compiling the library with preprocessor symbol
+<tt class="computeroutput">BZ_NO_STDIO</tt> defined.  Doing this
+gives you a library containing only the following eight
+functions:</p>
+<p><tt class="computeroutput">BZ2_bzCompressInit</tt>,
+<tt class="computeroutput">BZ2_bzCompress</tt>,
+<tt class="computeroutput">BZ2_bzCompressEnd</tt>
+<tt class="computeroutput">BZ2_bzDecompressInit</tt>,
+<tt class="computeroutput">BZ2_bzDecompress</tt>,
+<tt class="computeroutput">BZ2_bzDecompressEnd</tt>
+<tt class="computeroutput">BZ2_bzBuffToBuffCompress</tt>,
+<tt class="computeroutput">BZ2_bzBuffToBuffDecompress</tt></p>
+<p>When compiled like this, all functions will ignore
+<tt class="computeroutput">verbosity</tt> settings.</p>
+</div>
+<div class="sect2" lang="en">
+<div class="titlepage">
+<div><div><h3 class="title">
+<a name="critical-error"></a>3.7.2. Critical error handling</h3></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">libbzip2</tt> contains a number
+of internal assertion checks which should, needless to say, never
+be activated.  Nevertheless, if an assertion should fail,
+behaviour depends on whether or not the library was compiled with
+<tt class="computeroutput">BZ_NO_STDIO</tt> set.</p>
+<p>For a normal compile, an assertion failure yields the
+message:</p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>bzip2/libbzip2: internal error number N.</p>
+<p>This is a bug in bzip2/libbzip2, 1.0.3 of 15 February 2005.
+Please report it to me at: jseward@bzip.org.  If this happened
+when you were using some program which uses libbzip2 as a
+component, you should also report this bug to the author(s)
+of that program.  Please make an effort to report this bug;
+timely and accurate bug reports eventually lead to higher
+quality software.  Thanks.  Julian Seward, 15 February 2005.
+</p>
+</blockquote></div>
+<p>where <tt class="computeroutput">N</tt> is some error code
+number.  If <tt class="computeroutput">N == 1007</tt>, it also
+prints some extra text advising the reader that unreliable memory
+is often associated with internal error 1007. (This is a
+frequently-observed-phenomenon with versions 1.0.0/1.0.1).</p>
+<p><tt class="computeroutput">exit(3)</tt> is then
+called.</p>
+<p>For a <tt class="computeroutput">stdio</tt>-free library,
+assertion failures result in a call to a function declared
+as:</p>
+<pre class="programlisting">extern void bz_internal_error ( int errcode );</pre>
+<p>The relevant code is passed as a parameter.  You should
+supply such a function.</p>
+<p>In either case, once an assertion failure has occurred, any
+<tt class="computeroutput">bz_stream</tt> records involved can
+be regarded as invalid.  You should not attempt to resume normal
+operation with them.</p>
+<p>You may, of course, change critical error handling to suit
+your needs.  As I said above, critical errors indicate bugs in
+the library and should not occur.  All "normal" error situations
+are indicated via error return codes from functions, and can be
+recovered from.</p>
+</div>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="win-dll"></a>3.8. Making a Windows DLL</h2></div></div>
+<div></div>
+</div>
+<p>Everything related to Windows has been contributed by
+Yoshioka Tsuneo
+(<tt class="computeroutput">QWF00133@niftyserve.or.jp</tt> /
+<tt class="computeroutput">tsuneo-y@is.aist-nara.ac.jp</tt>), so
+you should send your queries to him (but perhaps Cc: me,
+<tt class="computeroutput">jseward@bzip.org</tt>).</p>
+<p>My vague understanding of what to do is: using Visual C++
+5.0, open the project file
+<tt class="computeroutput">libbz2.dsp</tt>, and build.  That's
+all.</p>
+<p>If you can't open the project file for some reason, make a
+new one, naming these files:
+<tt class="computeroutput">blocksort.c</tt>,
+<tt class="computeroutput">bzlib.c</tt>,
+<tt class="computeroutput">compress.c</tt>,
+<tt class="computeroutput">crctable.c</tt>,
+<tt class="computeroutput">decompress.c</tt>,
+<tt class="computeroutput">huffman.c</tt>,
+<tt class="computeroutput">randtable.c</tt> and
+<tt class="computeroutput">libbz2.def</tt>.  You will also need
+to name the header files <tt class="computeroutput">bzlib.h</tt>
+and <tt class="computeroutput">bzlib_private.h</tt>.</p>
+<p>If you don't use VC++, you may need to define the
+proprocessor symbol
+<tt class="computeroutput">_WIN32</tt>.</p>
+<p>Finally, <tt class="computeroutput">dlltest.c</tt> is a
+sample program using the DLL.  It has a project file,
+<tt class="computeroutput">dlltest.dsp</tt>.</p>
+<p>If you just want a makefile for Visual C, have a look at
+<tt class="computeroutput">makefile.msc</tt>.</p>
+<p>Be aware that if you compile
+<tt class="computeroutput">bzip2</tt> itself on Win32, you must
+set <tt class="computeroutput">BZ_UNIX</tt> to 0 and
+<tt class="computeroutput">BZ_LCCWIN32</tt> to 1, in the file
+<tt class="computeroutput">bzip2.c</tt>, before compiling.
+Otherwise the resulting binary won't work correctly.</p>
+<p>I haven't tried any of this stuff myself, but it all looks
+plausible.</p>
+</div>
+</div>
+<div class="chapter" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title">
+<a name="misc"></a>4. Miscellanea</h2></div></div>
+<div></div>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="sect1"><a href="#limits">4.1. Limitations of the compressed file format</a></span></dt>
+<dt><span class="sect1"><a href="#port-issues">4.2. Portability issues</a></span></dt>
+<dt><span class="sect1"><a href="#bugs">4.3. Reporting bugs</a></span></dt>
+<dt><span class="sect1"><a href="#package">4.4. Did you get the right package?</a></span></dt>
+<dt><span class="sect1"><a href="#reading">4.5. Further Reading</a></span></dt>
+</dl>
+</div>
+<p>These are just some random thoughts of mine.  Your mileage
+may vary.</p>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="limits"></a>4.1. Limitations of the compressed file format</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">bzip2-1.0.X</tt>,
+<tt class="computeroutput">0.9.5</tt> and
+<tt class="computeroutput">0.9.0</tt> use exactly the same file
+format as the original version,
+<tt class="computeroutput">bzip2-0.1</tt>.  This decision was
+made in the interests of stability.  Creating yet another
+incompatible compressed file format would create further
+confusion and disruption for users.</p>
+<p>Nevertheless, this is not a painless decision.  Development
+work since the release of
+<tt class="computeroutput">bzip2-0.1</tt> in August 1997 has
+shown complexities in the file format which slow down
+decompression and, in retrospect, are unnecessary.  These
+are:</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p>The run-length encoder, which is the first of the
+   compression transformations, is entirely irrelevant.  The
+   original purpose was to protect the sorting algorithm from the
+   very worst case input: a string of repeated symbols.  But
+   algorithm steps Q6a and Q6b in the original Burrows-Wheeler
+   technical report (SRC-124) show how repeats can be handled
+   without difficulty in block sorting.</p></li>
+<li style="list-style-type: disc">
+<p>The randomisation mechanism doesn't really need to be
+   there.  Udi Manber and Gene Myers published a suffix array
+   construction algorithm a few years back, which can be employed
+   to sort any block, no matter how repetitive, in O(N log N)
+   time.  Subsequent work by Kunihiko Sadakane has produced a
+   derivative O(N (log N)^2) algorithm which usually outperforms
+   the Manber-Myers algorithm.</p>
+<p>I could have changed to Sadakane's algorithm, but I find
+   it to be slower than <tt class="computeroutput">bzip2</tt>'s
+   existing algorithm for most inputs, and the randomisation
+   mechanism protects adequately against bad cases.  I didn't
+   think it was a good tradeoff to make.  Partly this is due to
+   the fact that I was not flooded with email complaints about
+   <tt class="computeroutput">bzip2-0.1</tt>'s performance on
+   repetitive data, so perhaps it isn't a problem for real
+   inputs.</p>
+<p>Probably the best long-term solution, and the one I have
+   incorporated into 0.9.5 and above, is to use the existing
+   sorting algorithm initially, and fall back to a O(N (log N)^2)
+   algorithm if the standard algorithm gets into
+   difficulties.</p>
+</li>
+<li style="list-style-type: disc"><p>The compressed file format was never designed to be
+   handled by a library, and I have had to jump though some hoops
+   to produce an efficient implementation of decompression.  It's
+   a bit hairy.  Try passing
+   <tt class="computeroutput">decompress.c</tt> through the C
+   preprocessor and you'll see what I mean.  Much of this
+   complexity could have been avoided if the compressed size of
+   each block of data was recorded in the data stream.</p></li>
+<li style="list-style-type: disc"><p>An Adler-32 checksum, rather than a CRC32 checksum,
+   would be faster to compute.</p></li>
+</ul></div>
+<p>It would be fair to say that the
+<tt class="computeroutput">bzip2</tt> format was frozen before I
+properly and fully understood the performance consequences of
+doing so.</p>
+<p>Improvements which I was able to incorporate into 0.9.0,
+despite using the same file format, are:</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc"><p>Single array implementation of the inverse BWT.  This
+  significantly speeds up decompression, presumably because it
+  reduces the number of cache misses.</p></li>
+<li style="list-style-type: disc"><p>Faster inverse MTF transform for large MTF values.
+  The new implementation is based on the notion of sliding blocks
+  of values.</p></li>
+<li style="list-style-type: disc"><p><tt class="computeroutput">bzip2-0.9.0</tt> now reads
+  and writes files with <tt class="computeroutput">fread</tt>
+  and <tt class="computeroutput">fwrite</tt>; version 0.1 used
+  <tt class="computeroutput">putc</tt> and
+  <tt class="computeroutput">getc</tt>.  Duh!  Well, you live
+  and learn.</p></li>
+</ul></div>
+<p>Further ahead, it would be nice to be able to do random
+access into files.  This will require some careful design of
+compressed file formats.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="port-issues"></a>4.2. Portability issues</h2></div></div>
+<div></div>
+</div>
+<p>After some consideration, I have decided not to use GNU
+<tt class="computeroutput">autoconf</tt> to configure 0.9.5 or
+1.0.</p>
+<p><tt class="computeroutput">autoconf</tt>, admirable and
+wonderful though it is, mainly assists with portability problems
+between Unix-like platforms.  But
+<tt class="computeroutput">bzip2</tt> doesn't have much in the
+way of portability problems on Unix; most of the difficulties
+appear when porting to the Mac, or to Microsoft's operating
+systems.  <tt class="computeroutput">autoconf</tt> doesn't help
+in those cases, and brings in a whole load of new
+complexity.</p>
+<p>Most people should be able to compile the library and
+program under Unix straight out-of-the-box, so to speak,
+especially if you have a version of GNU C available.</p>
+<p>There are a couple of
+<tt class="computeroutput">__inline__</tt> directives in the
+code.  GNU C (<tt class="computeroutput">gcc</tt>) should be
+able to handle them.  If you're not using GNU C, your C compiler
+shouldn't see them at all.  If your compiler does, for some
+reason, see them and doesn't like them, just
+<tt class="computeroutput">#define</tt>
+<tt class="computeroutput">__inline__</tt> to be
+<tt class="computeroutput">/* */</tt>.  One easy way to do this
+is to compile with the flag
+<tt class="computeroutput">-D__inline__=</tt>, which should be
+understood by most Unix compilers.</p>
+<p>If you still have difficulties, try compiling with the
+macro <tt class="computeroutput">BZ_STRICT_ANSI</tt> defined.
+This should enable you to build the library in a strictly ANSI
+compliant environment.  Building the program itself like this is
+dangerous and not supported, since you remove
+<tt class="computeroutput">bzip2</tt>'s checks against
+compressing directories, symbolic links, devices, and other
+not-really-a-file entities.  This could cause filesystem
+corruption!</p>
+<p>One other thing: if you create a
+<tt class="computeroutput">bzip2</tt> binary for public distribution,
+please consider linking it statically (<tt class="computeroutput">gcc
+-static</tt>).  This avoids all sorts of library-version
+issues that others may encounter later on.</p>
+<p>If you build <tt class="computeroutput">bzip2</tt> on
+Win32, you must set <tt class="computeroutput">BZ_UNIX</tt> to 0
+and <tt class="computeroutput">BZ_LCCWIN32</tt> to 1, in the
+file <tt class="computeroutput">bzip2.c</tt>, before compiling.
+Otherwise the resulting binary won't work correctly.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="bugs"></a>4.3. Reporting bugs</h2></div></div>
+<div></div>
+</div>
+<p>I tried pretty hard to make sure
+<tt class="computeroutput">bzip2</tt> is bug free, both by
+design and by testing.  Hopefully you'll never need to read this
+section for real.</p>
+<p>Nevertheless, if <tt class="computeroutput">bzip2</tt> dies
+with a segmentation fault, a bus error or an internal assertion
+failure, it will ask you to email me a bug report.  Experience from
+years of feedback of bzip2 users indicates that almost all these
+problems can be traced to either compiler bugs or hardware
+problems.</p>
+<div class="itemizedlist"><ul type="bullet">
+<li style="list-style-type: disc">
+<p>Recompile the program with no optimisation, and
+  see if it works.  And/or try a different compiler.  I heard all
+  sorts of stories about various flavours of GNU C (and other
+  compilers) generating bad code for
+  <tt class="computeroutput">bzip2</tt>, and I've run across two
+  such examples myself.</p>
+<p>2.7.X versions of GNU C are known to generate bad code
+  from time to time, at high optimisation levels.  If you get
+  problems, try using the flags
+  <tt class="computeroutput">-O2</tt>
+  <tt class="computeroutput">-fomit-frame-pointer</tt>
+  <tt class="computeroutput">-fno-strength-reduce</tt>.  You
+  should specifically <span class="emphasis"><em>not</em></span> use
+  <tt class="computeroutput">-funroll-loops</tt>.</p>
+<p>You may notice that the Makefile runs six tests as part
+  of the build process.  If the program passes all of these, it's
+  a pretty good (but not 100%) indication that the compiler has
+  done its job correctly.</p>
+</li>
+<li style="list-style-type: disc">
+<p>If <tt class="computeroutput">bzip2</tt>
+  crashes randomly, and the crashes are not repeatable, you may
+  have a flaky memory subsystem.
+  <tt class="computeroutput">bzip2</tt> really hammers your
+  memory hierarchy, and if it's a bit marginal, you may get these
+  problems.  Ditto if your disk or I/O subsystem is slowly
+  failing.  Yup, this really does happen.</p>
+<p>Try using a different machine of the same type, and see
+  if you can repeat the problem.</p>
+</li>
+<li style="list-style-type: disc"><p>This isn't really a bug, but ... If
+  <tt class="computeroutput">bzip2</tt> tells you your file is
+  corrupted on decompression, and you obtained the file via FTP,
+  there is a possibility that you forgot to tell FTP to do a
+  binary mode transfer.  That absolutely will cause the file to
+  be non-decompressible.  You'll have to transfer it
+  again.</p></li>
+</ul></div>
+<p>If you've incorporated
+<tt class="computeroutput">libbzip2</tt> into your own program
+and are getting problems, please, please, please, check that the
+parameters you are passing in calls to the library, are correct,
+and in accordance with what the documentation says is allowable.
+I have tried to make the library robust against such problems,
+but I'm sure I haven't succeeded.</p>
+<p>Finally, if the above comments don't help, you'll have to
+send me a bug report.  Now, it's just amazing how many people
+will send me a bug report saying something like:</p>
+<pre class="programlisting">bzip2 crashed with segmentation fault on my machine</pre>
+<p>and absolutely nothing else.  Needless to say, a such a
+report is <span class="emphasis"><em>totally, utterly, completely and
+comprehensively 100% useless; a waste of your time, my time, and
+net bandwidth</em></span>.  With no details at all, there's no way
+I can possibly begin to figure out what the problem is.</p>
+<p>The rules of the game are: facts, facts, facts.  Don't omit
+them because "oh, they won't be relevant".  At the bare
+minimum:</p>
+<pre class="programlisting">Machine type.  Operating system version.  
+Exact version of bzip2 (do bzip2 -V).  
+Exact version of the compiler used.  
+Flags passed to the compiler.</pre>
+<p>However, the most important single thing that will help me
+is the file that you were trying to compress or decompress at the
+time the problem happened.  Without that, my ability to do
+anything more than speculate about the cause, is limited.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="package"></a>4.4. Did you get the right package?</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">bzip2</tt> is a resource hog.
+It soaks up large amounts of CPU cycles and memory.  Also, it
+gives very large latencies.  In the worst case, you can feed many
+megabytes of uncompressed data into the library before getting
+any compressed output, so this probably rules out applications
+requiring interactive behaviour.</p>
+<p>These aren't faults of my implementation, I hope, but more
+an intrinsic property of the Burrows-Wheeler transform
+(unfortunately).  Maybe this isn't what you want.</p>
+<p>If you want a compressor and/or library which is faster,
+uses less memory but gets pretty good compression, and has
+minimal latency, consider Jean-loup Gailly's and Mark Adler's
+work, <tt class="computeroutput">zlib-1.2.1</tt> and
+<tt class="computeroutput">gzip-1.2.4</tt>.  Look for them at 
+<a href="http://www.zlib.org" target="_top">http://www.zlib.org</a> and 
+<a href="http://www.gzip.org" target="_top">http://www.gzip.org</a>
+respectively.</p>
+<p>For something faster and lighter still, you might try Markus F
+X J Oberhumer's <tt class="computeroutput">LZO</tt> real-time
+compression/decompression library, at 
+<a href="http://www.oberhumer.com/opensource" target="_top">http://www.oberhumer.com/opensource</a>.</p>
+</div>
+<div class="sect1" lang="en">
+<div class="titlepage">
+<div><div><h2 class="title" style="clear: both">
+<a name="reading"></a>4.5. Further Reading</h2></div></div>
+<div></div>
+</div>
+<p><tt class="computeroutput">bzip2</tt> is not research
+work, in the sense that it doesn't present any new ideas.
+Rather, it's an engineering exercise based on existing
+ideas.</p>
+<p>Four documents describe essentially all the ideas behind
+<tt class="computeroutput">bzip2</tt>:</p>
+<div class="literallayout"><p>Michael Burrows and D. J. Wheeler:<br>
+  "A block-sorting lossless data compression algorithm"<br>
+   10th May 1994. <br>
+   Digital SRC Research Report 124.<br>
+   ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz<br>
+   If you have trouble finding it, try searching at the<br>
+   New Zealand Digital Library, http://www.nzdl.org.<br>
+<br>
+Daniel S. Hirschberg and Debra A. LeLewer<br>
+  "Efficient Decoding of Prefix Codes"<br>
+   Communications of the ACM, April 1990, Vol 33, Number 4.<br>
+   You might be able to get an electronic copy of this<br>
+   from the ACM Digital Library.<br>
+<br>
+David J. Wheeler<br>
+   Program bred3.c and accompanying document bred3.ps.<br>
+   This contains the idea behind the multi-table Huffman coding scheme.<br>
+   ftp://ftp.cl.cam.ac.uk/users/djw3/<br>
+<br>
+Jon L. Bentley and Robert Sedgewick<br>
+  "Fast Algorithms for Sorting and Searching Strings"<br>
+   Available from Sedgewick's web page,<br>
+   www.cs.princeton.edu/~rs<br>
+</p></div>
+<p>The following paper gives valuable additional insights into
+the algorithm, but is not immediately the basis of any code used
+in bzip2.</p>
+<div class="literallayout"><p>Peter Fenwick:<br>
+   Block Sorting Text Compression<br>
+   Proceedings of the 19th Australasian Computer Science Conference,<br>
+     Melbourne, Australia.  Jan 31 - Feb 2, 1996.<br>
+   ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps</p></div>
+<p>Kunihiko Sadakane's sorting algorithm, mentioned above, is
+available from:</p>
+<div class="literallayout"><p>http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz<br>
+</p></div>
+<p>The Manber-Myers suffix array construction algorithm is
+described in a paper available from:</p>
+<div class="literallayout"><p>http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps<br>
+</p></div>
+<p>Finally, the following papers document some
+investigations I made into the performance of sorting
+and decompression algorithms:</p>
+<div class="literallayout"><p>Julian Seward<br>
+   On the Performance of BWT Sorting Algorithms<br>
+   Proceedings of the IEEE Data Compression Conference 2000<br>
+     Snowbird, Utah.  28-30 March 2000.<br>
+<br>
+Julian Seward<br>
+   Space-time Tradeoffs in the Inverse B-W Transform<br>
+   Proceedings of the IEEE Data Compression Conference 2001<br>
+     Snowbird, Utah.  27-29 March 2001.<br>
+</p></div>
+</div>
+</div>
+</div></body>
+</html>
diff --git a/commands/bzip2-1.0.3/manual.pdf b/commands/bzip2-1.0.3/manual.pdf
new file mode 100644 (file)
index 0000000..394b809
Binary files /dev/null and b/commands/bzip2-1.0.3/manual.pdf differ
diff --git a/commands/bzip2-1.0.3/manual.ps b/commands/bzip2-1.0.3/manual.ps
new file mode 100644 (file)
index 0000000..03831d1
--- /dev/null
@@ -0,0 +1,68244 @@
+%!PS-Adobe-3.0
+%%Creator: xpdf/pdftops 3.00
+%%LanguageLevel: 2
+%%DocumentSuppliedResources: (atend)
+%%DocumentMedia: plain 612 792 0 () ()
+%%BoundingBox: 0 0 612 792
+%%Pages: 38
+%%EndComments
+%%BeginDefaults
+%%PageMedia: plain
+%%EndDefaults
+%%BeginProlog
+%%BeginResource: procset xpdf 3.00 0
+/xpdf 75 dict def xpdf begin
+% PDF special state
+/pdfDictSize 15 def
+/pdfSetup {
+  3 1 roll 2 array astore
+  /setpagedevice where {
+    pop 3 dict begin
+      /PageSize exch def
+      /ImagingBBox null def
+      /Policies 1 dict dup begin /PageSize 3 def end def
+      { /Duplex true def } if
+    currentdict end setpagedevice
+  } {
+    pop pop
+  } ifelse
+} def
+/pdfStartPage {
+  pdfDictSize dict begin
+  /pdfFill [0] def
+  /pdfStroke [0] def
+  /pdfLastFill false def
+  /pdfLastStroke false def
+  /pdfTextMat [1 0 0 1 0 0] def
+  /pdfFontSize 0 def
+  /pdfCharSpacing 0 def
+  /pdfTextRender 0 def
+  /pdfTextRise 0 def
+  /pdfWordSpacing 0 def
+  /pdfHorizScaling 1 def
+  /pdfTextClipPath [] def
+} def
+/pdfEndPage { end } def
+% separation convention operators
+/findcmykcustomcolor where {
+  pop
+}{
+  /findcmykcustomcolor { 5 array astore } def
+} ifelse
+/setcustomcolor where {
+  pop
+}{
+  /setcustomcolor {
+    exch
+    [ exch /Separation exch dup 4 get exch /DeviceCMYK exch
+      0 4 getinterval cvx
+      [ exch /dup load exch { mul exch dup } /forall load
+        /pop load dup ] cvx
+    ] setcolorspace setcolor
+  } def
+} ifelse
+/customcolorimage where {
+  pop
+}{
+  /customcolorimage {
+    gsave
+    [ exch /Separation exch dup 4 get exch /DeviceCMYK exch
+      0 4 getinterval
+      [ exch /dup load exch { mul exch dup } /forall load
+        /pop load dup ] cvx
+    ] setcolorspace
+    10 dict begin
+      /ImageType 1 def
+      /DataSource exch def
+      /ImageMatrix exch def
+      /BitsPerComponent exch def
+      /Height exch def
+      /Width exch def
+      /Decode [1 0] def
+    currentdict end
+    image
+    grestore
+  } def
+} ifelse
+% PDF color state
+/sCol {
+  pdfLastStroke not {
+    pdfStroke aload length
+    dup 1 eq {
+      pop setgray
+    }{
+      dup 3 eq {
+        pop setrgbcolor
+      }{
+        4 eq {
+          setcmykcolor
+        }{
+          findcmykcustomcolor exch setcustomcolor
+        } ifelse
+      } ifelse
+    } ifelse
+    /pdfLastStroke true def /pdfLastFill false def
+  } if
+} def
+/fCol {
+  pdfLastFill not {
+    pdfFill aload length
+    dup 1 eq {
+      pop setgray
+    }{
+      dup 3 eq {
+        pop setrgbcolor
+      }{
+        4 eq {
+          setcmykcolor
+        }{
+          findcmykcustomcolor exch setcustomcolor
+        } ifelse
+      } ifelse
+    } ifelse
+    /pdfLastFill true def /pdfLastStroke false def
+  } if
+} def
+% build a font
+/pdfMakeFont {
+  4 3 roll findfont
+  4 2 roll matrix scale makefont
+  dup length dict begin
+    { 1 index /FID ne { def } { pop pop } ifelse } forall
+    /Encoding exch def
+    currentdict
+  end
+  definefont pop
+} def
+/pdfMakeFont16 {
+  exch findfont
+  dup length dict begin
+    { 1 index /FID ne { def } { pop pop } ifelse } forall
+    /WMode exch def
+    currentdict
+  end
+  definefont pop
+} def
+/pdfMakeFont16L3 {
+  1 index /CIDFont resourcestatus {
+    pop pop 1 index /CIDFont findresource /CIDFontType known
+  } {
+    false
+  } ifelse
+  {
+    0 eq { /Identity-H } { /Identity-V } ifelse
+    exch 1 array astore composefont pop
+  } {
+    pdfMakeFont16
+  } ifelse
+} def
+% graphics state operators
+/q { gsave pdfDictSize dict begin } def
+/Q { end grestore } def
+/cm { concat } def
+/d { setdash } def
+/i { setflat } def
+/j { setlinejoin } def
+/J { setlinecap } def
+/M { setmiterlimit } def
+/w { setlinewidth } def
+% color operators
+/g { dup 1 array astore /pdfFill exch def setgray
+     /pdfLastFill true def /pdfLastStroke false def } def
+/G { dup 1 array astore /pdfStroke exch def setgray
+     /pdfLastStroke true def /pdfLastFill false def } def
+/rg { 3 copy 3 array astore /pdfFill exch def setrgbcolor
+      /pdfLastFill true def /pdfLastStroke false def } def
+/RG { 3 copy 3 array astore /pdfStroke exch def setrgbcolor
+      /pdfLastStroke true def /pdfLastFill false def } def
+/k { 4 copy 4 array astore /pdfFill exch def setcmykcolor
+     /pdfLastFill true def /pdfLastStroke false def } def
+/K { 4 copy 4 array astore /pdfStroke exch def setcmykcolor
+     /pdfLastStroke true def /pdfLastFill false def } def
+/ck { 6 copy 6 array astore /pdfFill exch def
+      findcmykcustomcolor exch setcustomcolor
+      /pdfLastFill true def /pdfLastStroke false def } def
+/CK { 6 copy 6 array astore /pdfStroke exch def
+      findcmykcustomcolor exch setcustomcolor
+      /pdfLastStroke true def /pdfLastFill false def } def
+% path segment operators
+/m { moveto } def
+/l { lineto } def
+/c { curveto } def
+/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+      neg 0 rlineto closepath } def
+/h { closepath } def
+% path painting operators
+/S { sCol stroke } def
+/Sf { fCol stroke } def
+/f { fCol fill } def
+/f* { fCol eofill } def
+% clipping operators
+/W { clip newpath } def
+/W* { eoclip newpath } def
+% text state operators
+/Tc { /pdfCharSpacing exch def } def
+/Tf { dup /pdfFontSize exch def
+      dup pdfHorizScaling mul exch matrix scale
+      pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put
+      exch findfont exch makefont setfont } def
+/Tr { /pdfTextRender exch def } def
+/Ts { /pdfTextRise exch def } def
+/Tw { /pdfWordSpacing exch def } def
+/Tz { /pdfHorizScaling exch def } def
+% text positioning operators
+/Td { pdfTextMat transform moveto } def
+/Tm { /pdfTextMat exch def } def
+% text string operators
+/cshow where {
+  pop
+  /cshow2 {
+    dup {
+      pop pop
+      1 string dup 0 3 index put 3 index exec
+    } exch cshow
+    pop pop
+  } def
+}{
+  /cshow2 {
+    currentfont /FontType get 0 eq {
+      0 2 2 index length 1 sub {
+        2 copy get exch 1 add 2 index exch get
+        2 copy exch 256 mul add
+        2 string dup 0 6 5 roll put dup 1 5 4 roll put
+        3 index exec
+      } for
+    } {
+      dup {
+        1 string dup 0 3 index put 3 index exec
+      } forall
+    } ifelse
+    pop pop
+  } def
+} ifelse
+/awcp {
+  exch {
+    false charpath
+    5 index 5 index rmoveto
+    6 index eq { 7 index 7 index rmoveto } if
+  } exch cshow2
+  6 {pop} repeat
+} def
+/Tj {
+  fCol
+  1 index stringwidth pdfTextMat idtransform pop
+  sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse
+  pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
+  4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
+  pdfTextMat dtransform
+  6 5 roll Tj1
+} def
+/Tj16 {
+  fCol
+  2 index stringwidth pdfTextMat idtransform pop
+  sub exch div
+  pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
+  4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
+  pdfTextMat dtransform
+  6 5 roll Tj1
+} def
+/Tj16V {
+  fCol
+  2 index stringwidth pdfTextMat idtransform exch pop
+  sub exch div
+  0 pdfWordSpacing pdfTextMat dtransform 32
+  4 3 roll pdfCharSpacing add 0 exch
+  pdfTextMat dtransform
+  6 5 roll Tj1
+} def
+/Tj1 {
+  0 pdfTextRise pdfTextMat dtransform rmoveto
+  currentpoint 8 2 roll
+  pdfTextRender 1 and 0 eq {
+    6 copy awidthshow
+  } if
+  pdfTextRender 3 and dup 1 eq exch 2 eq or {
+    7 index 7 index moveto
+    6 copy
+    currentfont /FontType get 3 eq { fCol } { sCol } ifelse
+    false awcp currentpoint stroke moveto
+  } if
+  pdfTextRender 4 and 0 ne {
+    8 6 roll moveto
+    false awcp
+    /pdfTextClipPath [ pdfTextClipPath aload pop
+      {/moveto cvx}
+      {/lineto cvx}
+      {/curveto cvx}
+      {/closepath cvx}
+    pathforall ] def
+    currentpoint newpath moveto
+  } {
+    8 {pop} repeat
+  } ifelse
+  0 pdfTextRise neg pdfTextMat dtransform rmoveto
+} def
+/TJm { pdfFontSize 0.001 mul mul neg 0
+       pdfTextMat dtransform rmoveto } def
+/TJmV { pdfFontSize 0.001 mul mul neg 0 exch
+        pdfTextMat dtransform rmoveto } def
+/Tclip { pdfTextClipPath cvx exec clip newpath
+         /pdfTextClipPath [] def } def
+% Level 2 image operators
+/pdfImBuf 100 string def
+/pdfIm {
+  image
+  { currentfile pdfImBuf readline
+    not { pop exit } if
+    (%-EOD-) eq { exit } if } loop
+} def
+/pdfImSep {
+  findcmykcustomcolor exch
+  dup /Width get /pdfImBuf1 exch string def
+  dup /Decode get aload pop 1 index sub /pdfImDecodeRange exch def
+  /pdfImDecodeLow exch def
+  begin Width Height BitsPerComponent ImageMatrix DataSource end
+  /pdfImData exch def
+  { pdfImData pdfImBuf1 readstring pop
+    0 1 2 index length 1 sub {
+      1 index exch 2 copy get
+      pdfImDecodeRange mul 255 div pdfImDecodeLow add round cvi
+      255 exch sub put
+    } for }
+  6 5 roll customcolorimage
+  { currentfile pdfImBuf readline
+    not { pop exit } if
+    (%-EOD-) eq { exit } if } loop
+} def
+/pdfImM {
+  fCol imagemask
+  { currentfile pdfImBuf readline
+    not { pop exit } if
+    (%-EOD-) eq { exit } if } loop
+} def
+end
+%%EndResource
+%%EndProlog
+%%BeginSetup
+xpdf begin
+/F121_0 /Helvetica-Bold 1 1
+[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
+  /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
+  /caron/dotlessi/dotlessj/ff/ffi/ffl/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/grave/quotesingle
+  /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
+  /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
+  /zero/one/two/three/four/five/six/seven
+  /eight/nine/colon/semicolon/less/equal/greater/question
+  /at/A/B/C/D/E/F/G
+  /H/I/J/K/L/M/N/O
+  /P/Q/R/S/T/U/V/W
+  /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
+  /quoteleft/a/b/c/d/e/f/g
+  /h/i/j/k/l/m/n/o
+  /p/q/r/s/t/u/v/w
+  /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
+  /Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
+  /circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
+  /tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef/Ydieresis
+  /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
+  /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
+  /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
+  /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
+  /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+  /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+  /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
+  /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
+  /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+  /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+  /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
+  /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+pdfMakeFont
+/F128_0 /Times-Roman 1 1
+[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
+  /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
+  /caron/dotlessi/dotlessj/ff/ffi/ffl/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/grave/quotesingle
+  /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
+  /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
+  /zero/one/two/three/four/five/six/seven
+  /eight/nine/colon/semicolon/less/equal/greater/question
+  /at/A/B/C/D/E/F/G
+  /H/I/J/K/L/M/N/O
+  /P/Q/R/S/T/U/V/W
+  /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
+  /quoteleft/a/b/c/d/e/f/g
+  /h/i/j/k/l/m/n/o
+  /p/q/r/s/t/u/v/w
+  /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
+  /Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
+  /circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
+  /tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef/Ydieresis
+  /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
+  /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
+  /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
+  /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
+  /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+  /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+  /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
+  /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
+  /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+  /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+  /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
+  /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+pdfMakeFont
+/F130_0 /Courier 1 1
+[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
+  /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
+  /caron/dotlessi/dotlessj/ff/ffi/ffl/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/grave/quotesingle
+  /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
+  /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
+  /zero/one/two/three/four/five/six/seven
+  /eight/nine/colon/semicolon/less/equal/greater/question
+  /at/A/B/C/D/E/F/G
+  /H/I/J/K/L/M/N/O
+  /P/Q/R/S/T/U/V/W
+  /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
+  /quoteleft/a/b/c/d/e/f/g
+  /h/i/j/k/l/m/n/o
+  /p/q/r/s/t/u/v/w
+  /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
+  /Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
+  /circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
+  /tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef/Ydieresis
+  /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
+  /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
+  /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
+  /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
+  /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+  /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+  /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
+  /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
+  /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+  /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+  /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
+  /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+pdfMakeFont
+%%BeginResource: font CJBHNS+CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CJBHNS+CMMI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 45 /arrowhookright put
+dup 58 /period put
+readonly def
+/FontBBox{-32 -250 1048 750}readonly def
+/UniqueID 5087385 def
+currentdict end
+currentfile eexec
+d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde
+3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b
+532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470
+b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b
+986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe
+d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958
+9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321
+990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e
+6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb
+def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721
+59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823
+d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf
+8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808
+6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9
+1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee
+03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909
+95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1
+74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2
+3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8
+47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19
+afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8
+42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8
+40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837
+b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53
+95601766777978d01677b8d19e1b10a078432d2884bb42d1f224976325883657
+05acb022d1e9cb556e37af91917c78e98229e3a4dbf03ae741998542977ad6df
+1760fc1f1a479464922afda2cba7961e9da696b71205e19c542c97f25419c43c
+fa1a042ba0cf5622ffbd3e775d0d564135d99b9ffba011eebc4066b003ce2f88
+825936d7393d05d3804601cee9d123120fdf73624a9d4e361a28e998acec53f8
+7a62a0aee33be2e96542534a8af24497d1c377cd7f723767b44857d94c6cda7a
+c3d6f0087fa36655dd2b81eaecb31fe4f4a2fb1ea9fbe8b83d35826ac93fbb4f
+2bee014f41f8f276510cf5ce35c3954e8cafc521d0c3ab80ea8c7fc29427a1d4
+42d6f6c1800919e58de9ae12304d718ad80febbb412da54153469cd51a288628
+ad109baa77981525b3d9b0efe593537fcbb8520d38cccbd5db171a0385a432c1
+3030303030303030
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndResource
+/F143_0 /CJBHNS+CMMI10 1 1
+[ /Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon
+  /Phi/Psi/Omega/alpha/beta/gamma/delta/epsilon1
+  /zeta/eta/theta/iota/kappa/lambda/mu/nu
+  /xi/pi/rho/sigma/tau/upsilon/phi/chi
+  /psi/omega/epsilon/theta1/pi1/rho1/sigma1/phi1
+  /arrowlefttophalf/arrowleftbothalf/arrowrighttophalf/arrowrightbothalf/arrowhookleft/arrowhookright/triangleright/triangleleft
+  /zerooldstyle/oneoldstyle/twooldstyle/threeoldstyle/fouroldstyle/fiveoldstyle/sixoldstyle/sevenoldstyle
+  /eightoldstyle/nineoldstyle/period/comma/less/slash/greater/star
+  /partialdiff/A/B/C/D/E/F/G
+  /H/I/J/K/L/M/N/O
+  /P/Q/R/S/T/U/V/W
+  /X/Y/Z/flat/natural/sharp/slurbelow/slurabove
+  /lscript/a/b/c/d/e/f/g
+  /h/i/j/k/l/m/n/o
+  /p/q/r/s/t/u/v/w
+  /x/y/z/dotlessi/dotlessj/weierstrass/vector/tie
+  /psi/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /space/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma
+  /Upsilon/Phi/Psi/.notdef/.notdef/Omega/alpha/beta
+  /gamma/delta/epsilon1/zeta/eta/theta/iota/kappa
+  /lambda/mu/nu/xi/pi/rho/sigma/tau
+  /upsilon/phi/chi/psi/tie/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]
+pdfMakeFont
+/F387_0 /Courier-Bold 1 1
+[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
+  /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
+  /caron/dotlessi/dotlessj/ff/ffi/ffl/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/grave/quotesingle
+  /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
+  /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
+  /zero/one/two/three/four/five/six/seven
+  /eight/nine/colon/semicolon/less/equal/greater/question
+  /at/A/B/C/D/E/F/G
+  /H/I/J/K/L/M/N/O
+  /P/Q/R/S/T/U/V/W
+  /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
+  /quoteleft/a/b/c/d/e/f/g
+  /h/i/j/k/l/m/n/o
+  /p/q/r/s/t/u/v/w
+  /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
+  /Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
+  /circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
+  /tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef/Ydieresis
+  /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
+  /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
+  /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
+  /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
+  /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+  /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+  /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
+  /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
+  /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+  /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+  /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
+  /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+pdfMakeFont
+%%BeginResource: font RBGKEI+CMSY10
+%!PS-AdobeFont-1.1: CMSY10 1.0
+%%CreationDate: 1991 Aug 15 07:20:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+end readonly def
+/FontName /RBGKEI+CMSY10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 32 /arrowleft put
+readonly def
+/FontBBox{-29 -960 1116 775}readonly def
+/UniqueID 5000820 def
+currentdict end
+currentfile eexec
+d9d66f633b846a97b686a97e45a3d0aa052f09f9c8ade9d907c058b87e9b6964
+7d53359e51216774a4eaa1e2b58ec3176bd1184a633b951372b4198d4e8c5ef4
+a213acb58aa0a658908035bf2ed8531779838a960dfe2b27ea49c37156989c85
+e21b3abf72e39a89232cd9f4237fc80c9e64e8425aa3bef7ded60b122a52922a
+221a37d9a807dd01161779dde7d31ff2b87f97c73d63eecdda4c49501773468a
+27d1663e0b62f461f6e40a5d6676d1d12b51e641c1d4e8e2771864fc104f8cbf
+5b78ec1d88228725f1c453a678f58a7e1b7bd7ca700717d288eb8da1f57c4f09
+0abf1d42c5ddd0c384c7e22f8f8047be1d4c1cc8e33368fb1ac82b4e96146730
+de3302b2e6b819cb6ae455b1af3187ffe8071aa57ef8a6616b9cb7941d44ec7a
+71a7bb3df755178d7d2e4bb69859efa4bbc30bd6bb1531133fd4d9438ff99f09
+4ecc068a324d75b5f696b8688eeb2f17e5ed34ccd6d047a4e3806d000c199d7c
+515db70a8d4f6146fe068dc1e5de8bc5703711da090312ba3fc00a08c453c609
+c627a8bd98d9e826f964721e92bbdc978e88eea0a9c14802ebcc41f810428fa8
+b9972032a01769a7c72d1a65276f414deedaf1d22be23f4705bf5ef31b6a3b69
+0c896320f09e9875b50220a5bdbbd57c041b5ea97f421685a7256b0d9755edbe
+d05190dabf1c3dbf558258163c8231d89167a816bba55fb1f14ad04320ae381d
+f783a9eacee8ae5c1838775fe2380bdd1f3afcccc96d2a2dfc999b52a6689c51
+af82b8d63205b339103134dac7e3c45e6693940276041bb07ebdb9b729e8ef0d
+ee8bf450fa42551be65217fea902e28decc09580b504f0f52f1e8fc5ce7ac28d
+c4e47f908fdaeba23827a97a0aa741aa7708f7bbfec6fa69cc4f7c3bd4303030
+3030303030
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndResource
+/F559_0 /RBGKEI+CMSY10 1 1
+[ /minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus/minusplus
+  /circleplus/circleminus/circlemultiply/circledivide/circledot/circlecopyrt/openbullet/bullet
+  /equivasymptotic/equivalence/reflexsubset/reflexsuperset/lessequal/greaterequal/precedesequal/followsequal
+  /similar/approxequal/propersubset/propersuperset/lessmuch/greatermuch/precedes/follows
+  /arrowleft/arrowright/arrowup/arrowdown/arrowboth/arrownortheast/arrowsoutheast/similarequal
+  /arrowdblleft/arrowdblright/arrowdblup/arrowdbldown/arrowdblboth/arrownorthwest/arrowsouthwest/proportional
+  /prime/infinity/element/owner/triangle/triangleinv/negationslash/mapsto
+  /universal/existential/logicalnot/emptyset/Rfractur/Ifractur/latticetop/perpendicular
+  /aleph/A/B/C/D/E/F/G
+  /H/I/J/K/L/M/N/O
+  /P/Q/R/S/T/U/V/W
+  /X/Y/Z/union/intersection/unionmulti/logicaland/logicalor
+  /turnstileleft/turnstileright/floorleft/floorright/ceilingleft/ceilingright/braceleft/braceright
+  /angbracketleft/angbracketright/bar/bardbl/arrowbothv/arrowdblbothv/backslash/wreathproduct
+  /radical/coproduct/nabla/integral/unionsq/intersectionsq/subsetsqequal/supersetsqequal
+  /section/dagger/daggerdbl/paragraph/club/diamond/heart/spade
+  /arrowleft/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus
+  /minusplus/circleplus/circleminus/.notdef/.notdef/circlemultiply/circledivide/circledot
+  /circlecopyrt/openbullet/bullet/equivasymptotic/equivalence/reflexsubset/reflexsuperset/lessequal
+  /greaterequal/precedesequal/followsequal/similar/approxequal/propersubset/propersuperset/lessmuch
+  /greatermuch/precedes/follows/arrowleft/spade/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]
+pdfMakeFont
+/F631_0 /Times-Italic 1 1
+[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
+  /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
+  /caron/dotlessi/dotlessj/ff/ffi/ffl/.notdef/.notdef
+  /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/grave/quotesingle
+  /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
+  /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
+  /zero/one/two/three/four/five/six/seven
+  /eight/nine/colon/semicolon/less/equal/greater/question
+  /at/A/B/C/D/E/F/G
+  /H/I/J/K/L/M/N/O
+  /P/Q/R/S/T/U/V/W
+  /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
+  /quoteleft/a/b/c/d/e/f/g
+  /h/i/j/k/l/m/n/o
+  /p/q/r/s/t/u/v/w
+  /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
+  /Euro/.notdef/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
+  /circumflex/perthousand/Scaron/guilsinglleft/OE/.notdef/.notdef/.notdef
+  /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
+  /tilde/trademark/scaron/guilsinglright/oe/.notdef/.notdef/Ydieresis
+  /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
+  /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
+  /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
+  /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
+  /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+  /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+  /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
+  /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
+  /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+  /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+  /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
+  /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+pdfMakeFont
+612 792 false pdfSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 756] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 463.018 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -36] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+117.435 701.916 Td
+/F121_0 24.79 Tf
+(bzip2) 63.3632 Tj
+-278 TJm
+(and) 44.0766 Tj
+-278 TJm
+(libbzip2,) 99.1848 Tj
+-278 TJm
+(ver) 37.2098 Tj
+15 TJm
+(sion) 50.9682 Tj
+-278 TJm
+(1.0.3) 55.133 Tj
+[1 0 0 1 72 696.784] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -15.494] cm
+0 g
+0 G
+[1 0 0 1 -72 -681.29] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90.493 661.631 Td
+/F121_0 20.659 Tf
+(A) 14.9158 Tj
+-278 TJm
+(pr) 20.659 Tj
+20 TJm
+(ogram) 63.1339 Tj
+-278 TJm
+(and) 36.7317 Tj
+-278 TJm
+(librar) 51.6682 Tj
+-10 TJm
+(y) 11.4864 Tj
+-278 TJm
+(f) 6.87945 Tj
+20 TJm
+(or) 20.659 Tj
+-278 TJm
+(data) 42.4749 Tj
+-277 TJm
+(compression) 128.582 Tj
+[1 0 0 1 72 657.035] cm
+0 g
+0 G
+[1 0 0 1 0 -144] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -513.035] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+207.676 503.285 Td
+/F121_0 11.955 Tf
+(J) 6.64698 Tj
+20 TJm
+(ulian) 27.903 Tj
+-278 TJm
+(Se) 14.621 Tj
+15 TJm
+(war) 20.5985 Tj
+20 TJm
+(d,) 10.628 Tj
+-278 TJm
+(http://www) 61.102 Tj
+40 TJm
+(.bzip.or) 42.512 Tj
+15 TJm
+(g) 7.30451 Tj
+[1 0 0 1 72 500.625] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -435.825] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 463.018 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 2 2
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 140.398 0] cm
+0 g
+0 G
+[1 0 0 1 -140.398 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -13.948] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 709.534 Td
+/F121_0 14.346 Tf
+(bzip2) 36.6684 Tj
+-489 TJm
+(and) 25.5072 Tj
+-488 TJm
+(libbzip2,) 57.3983 Tj
+-542 TJm
+(ver) 21.5333 Tj
+15 TJm
+(sion) 29.4954 Tj
+-489 TJm
+(1.0.3:) 36.6827 Tj
+-765 TJm
+(A) 10.3578 Tj
+-488 TJm
+(pr) 14.346 Tj
+20 TJm
+(ogram) 43.8414 Tj
+-489 TJm
+(and) 25.5072 Tj
+-489 TJm
+(librar) 35.8793 Tj
+-10 TJm
+(y) 7.97638 Tj
+-489 TJm
+(f) 4.77722 Tj
+20 TJm
+(or) 14.346 Tj
+-488 TJm
+(data) 29.4954 Tj
+72 692.319 Td
+(compression) 89.2895 Tj
+[1 0 0 1 72 689.349] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -689.349] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 680.364 Td
+/F128_0 9.963 Tf
+(by) 9.963 Tj
+-250 TJm
+(Julian) 23.8016 Tj
+-250 TJm
+(Se) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(ard) 12.7228 Tj
+[1 0 0 1 72 678.207] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -678.207] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 668.409 Td
+/F128_0 9.963 Tf
+(Cop) 16.6083 Tj
+10 TJm
+(yright) 23.8016 Tj
+[1 0 0 1 114.799 668.409] cm
+0 g
+0 G
+[1 0 0 1 -114.799 -668.409] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+114.799 668.409 Td
+/F128_0 9.963 Tf
+(\251) 7.57188 Tj
+[1 0 0 1 122.371 668.409] cm
+0 g
+0 G
+[1 0 0 1 -122.371 -668.409] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+124.861 668.409 Td
+/F128_0 9.963 Tf
+(1996-2005) 43.1697 Tj
+-250 TJm
+(Julian) 23.8016 Tj
+-250 TJm
+(Se) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(ard) 12.7228 Tj
+[1 0 0 1 72 666.252] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -7.97] cm
+0 g
+0 G
+[1 0 0 1 -72 -658.282] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 650.874 Td
+/F128_0 7.97 Tf
+(This) 14.1707 Tj
+-250 TJm
+(program,) 28.9949 Tj
+[1 0 0 1 119.151 650.874] cm
+0 g
+0 G
+[1 0 0 1 -119.151 -650.874] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.151 650.874 Td
+/F130_0 7.97 Tf
+(bzip2) 23.91 Tj
+[1 0 0 1 143.061 650.874] cm
+0 g
+0 G
+[1 0 0 1 -143.061 -650.874] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+143.061 650.874 Td
+/F128_0 7.97 Tf
+(,) 1.9925 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(associated) 32.7567 Tj
+-250 TJm
+(library) 21.248 Tj
+[1 0 0 1 216.768 650.874] cm
+0 g
+0 G
+[1 0 0 1 -216.768 -650.874] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+216.768 650.874 Td
+/F130_0 7.97 Tf
+(libbzip2) 38.256 Tj
+[1 0 0 1 255.024 650.874] cm
+0 g
+0 G
+[1 0 0 1 -255.024 -650.874] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+255.024 650.874 Td
+/F128_0 7.97 Tf
+(,) 1.9925 Tj
+-250 TJm
+(and) 11.5087 Tj
+-250 TJm
+(all) 7.97 Tj
+-250 TJm
+(documentation,) 49.3662 Tj
+-250 TJm
+(are) 9.73137 Tj
+-250 TJm
+(cop) 11.5087 Tj
+10 TJm
+(yright) 19.0403 Tj
+-250 TJm
+(\251) 6.0572 Tj
+-250 TJm
+(1996-2005) 34.534 Tj
+-250 TJm
+(Julian) 19.0403 Tj
+-250 TJm
+(Se) 7.97 Tj
+25 TJm
+(w) 5.75434 Tj
+10 TJm
+(ard.) 12.1702 Tj
+-310 TJm
+(All) 10.1857 Tj
+-250 TJm
+(rights) 18.1557 Tj
+-250 TJm
+(reserv) 19.4707 Tj
+15 TJm
+(ed.) 9.51618 Tj
+[1 0 0 1 72 649.149] cm
+0 g
+0 G
+[1 0 0 1 0 -7.97] cm
+0 g
+0 G
+[1 0 0 1 -72 -641.179] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 633.34 Td
+/F128_0 7.97 Tf
+(Redistrib) 29.226 Tj
+20 TJm
+(ution) 16.3863 Tj
+-250 TJm
+(and) 11.5087 Tj
+-250 TJm
+(use) 10.624 Tj
+-250 TJm
+(in) 6.20066 Tj
+-250 TJm
+(source) 20.8017 Tj
+-250 TJm
+(and) 11.5087 Tj
+-250 TJm
+(binary) 20.3634 Tj
+-250 TJm
+(forms,) 20.5865 Tj
+-250 TJm
+(with) 14.1707 Tj
+-250 TJm
+(or) 6.63901 Tj
+-250 TJm
+(without) 24.3563 Tj
+-250 TJm
+(modi\002cation,) 42.2888 Tj
+-250 TJm
+(are) 9.73137 Tj
+-250 TJm
+(permitted) 30.549 Tj
+-250 TJm
+(pro) 10.624 Tj
+15 TJm
+(vided) 17.7093 Tj
+-250 TJm
+(that) 11.955 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(follo) 15.0553 Tj
+25 TJm
+(wing) 15.94 Tj
+-250 TJm
+(conditions) 33.211 Tj
+-250 TJm
+(are) 9.73137 Tj
+-250 TJm
+(met:) 14.1707 Tj
+[1 0 0 1 72 631.615] cm
+0 g
+0 G
+[1 0 0 1 0 -23.779] cm
+0 g
+0 G
+[1 0 0 1 5.579 0] cm
+0 g
+0 G
+[1 0 0 1 -77.579 -607.836] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+77.579 607.836 Td
+/F128_0 7.97 Tf
+(\225) 2.7895 Tj
+[1 0 0 1 80.369 607.836] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 1.594 0] cm
+0 g
+0 G
+[1 0 0 1 -83.955 -607.836] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+83.955 607.836 Td
+/F128_0 7.97 Tf
+(Redistrib) 29.226 Tj
+20 TJm
+(utions) 19.4867 Tj
+-250 TJm
+(of) 6.63901 Tj
+-250 TJm
+(source) 20.8017 Tj
+-250 TJm
+(code) 15.0474 Tj
+-250 TJm
+(must) 15.5017 Tj
+-250 TJm
+(retain) 18.1477 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(abo) 11.5087 Tj
+15 TJm
+(v) 3.985 Tj
+15 TJm
+(e) 3.53868 Tj
+-250 TJm
+(cop) 11.5087 Tj
+10 TJm
+(yright) 19.0403 Tj
+-250 TJm
+(notice,) 21.4712 Tj
+-250 TJm
+(this) 11.5167 Tj
+-250 TJm
+(list) 9.74731 Tj
+-250 TJm
+(of) 6.63901 Tj
+-250 TJm
+(conditions) 33.211 Tj
+-250 TJm
+(and) 11.5087 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(follo) 15.0553 Tj
+25 TJm
+(wing) 15.94 Tj
+-250 TJm
+(disclaimer) 33.203 Tj
+55 TJm
+(.) 1.9925 Tj
+[1 0 0 1 470.908 607.836] cm
+0 g
+0 G
+[1 0 0 1 -398.908 -17.534] cm
+0 g
+0 G
+[1 0 0 1 5.579 0] cm
+0 g
+0 G
+[1 0 0 1 -77.579 -590.302] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+77.579 590.302 Td
+/F128_0 7.97 Tf
+(\225) 2.7895 Tj
+[1 0 0 1 80.369 590.302] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 1.594 0] cm
+0 g
+0 G
+[1 0 0 1 -83.955 -590.302] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+83.955 590.302 Td
+/F128_0 7.97 Tf
+(The) 12.3933 Tj
+-270 TJm
+(origin) 19.0403 Tj
+-270 TJm
+(of) 6.63901 Tj
+-270 TJm
+(this) 11.5167 Tj
+-270 TJm
+(softw) 17.7093 Tj
+10 TJm
+(are) 9.73137 Tj
+-270 TJm
+(must) 15.5017 Tj
+-270 TJm
+(not) 10.1857 Tj
+-270 TJm
+(be) 7.52368 Tj
+-270 TJm
+(misrepresented;) 50.466 Tj
+-280 TJm
+(you) 11.955 Tj
+-270 TJm
+(must) 15.5017 Tj
+-270 TJm
+(not) 10.1857 Tj
+-270 TJm
+(claim) 17.7093 Tj
+-270 TJm
+(that) 11.955 Tj
+-270 TJm
+(you) 11.955 Tj
+-270 TJm
+(wrote) 18.1477 Tj
+-270 TJm
+(the) 9.73934 Tj
+-270 TJm
+(original) 24.7947 Tj
+-270 TJm
+(softw) 17.7093 Tj
+10 TJm
+(are.) 11.7239 Tj
+-739 TJm
+(If) 5.30802 Tj
+-270 TJm
+(you) 11.955 Tj
+-270 TJm
+(use) 10.624 Tj
+-270 TJm
+(this) 11.5167 Tj
+-270 TJm
+(softw) 17.7093 Tj
+10 TJm
+(are) 9.73137 Tj
+-270 TJm
+(in) 6.20066 Tj
+-270 TJm
+(a) 3.53868 Tj
+83.955 580.738 Td
+(product,) 26.3409 Tj
+-250 TJm
+(an) 7.52368 Tj
+-250 TJm
+(ackno) 19.0324 Tj
+25 TJm
+(wledgment) 35.4187 Tj
+-250 TJm
+(in) 6.20066 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(product) 24.3484 Tj
+-250 TJm
+(documentation) 47.3737 Tj
+-250 TJm
+(w) 5.75434 Tj
+10 TJm
+(ould) 14.1707 Tj
+-250 TJm
+(be) 7.52368 Tj
+-250 TJm
+(appreciated) 36.7337 Tj
+-250 TJm
+(b) 3.985 Tj
+20 TJm
+(ut) 6.20066 Tj
+-250 TJm
+(is) 5.31599 Tj
+-250 TJm
+(not) 10.1857 Tj
+-250 TJm
+(required.) 28.5485 Tj
+[1 0 0 1 403.817 580.738] cm
+0 g
+0 G
+[1 0 0 1 -331.817 -17.535] cm
+0 g
+0 G
+[1 0 0 1 5.579 0] cm
+0 g
+0 G
+[1 0 0 1 -77.579 -563.203] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+77.579 563.203 Td
+/F128_0 7.97 Tf
+(\225) 2.7895 Tj
+[1 0 0 1 80.369 563.203] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 1.594 0] cm
+0 g
+0 G
+[1 0 0 1 -83.955 -563.203] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+83.955 563.203 Td
+/F128_0 7.97 Tf
+(Altered) 23.902 Tj
+-250 TJm
+(source) 20.8017 Tj
+-250 TJm
+(v) 3.985 Tj
+15 TJm
+(ersions) 22.579 Tj
+-250 TJm
+(must) 15.5017 Tj
+-250 TJm
+(be) 7.52368 Tj
+-250 TJm
+(plainly) 22.1407 Tj
+-250 TJm
+(mark) 16.3783 Tj
+10 TJm
+(ed) 7.52368 Tj
+-250 TJm
+(as) 6.63901 Tj
+-250 TJm
+(such,) 16.6015 Tj
+-250 TJm
+(and) 11.5087 Tj
+-250 TJm
+(must) 15.5017 Tj
+-250 TJm
+(not) 10.1857 Tj
+-250 TJm
+(be) 7.52368 Tj
+-250 TJm
+(misrepresented) 48.2504 Tj
+-250 TJm
+(as) 6.63901 Tj
+-250 TJm
+(being) 17.7093 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(original) 24.7947 Tj
+-250 TJm
+(softw) 17.7093 Tj
+10 TJm
+(are.) 11.7239 Tj
+[1 0 0 1 464.405 563.203] cm
+0 g
+0 G
+[1 0 0 1 -392.405 -17.534] cm
+0 g
+0 G
+[1 0 0 1 5.579 0] cm
+0 g
+0 G
+[1 0 0 1 -77.579 -545.669] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+77.579 545.669 Td
+/F128_0 7.97 Tf
+(\225) 2.7895 Tj
+[1 0 0 1 80.369 545.669] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 1.594 0] cm
+0 g
+0 G
+[1 0 0 1 -83.955 -545.669] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+83.955 545.669 Td
+/F128_0 7.97 Tf
+(The) 12.3933 Tj
+-250 TJm
+(name) 17.263 Tj
+-250 TJm
+(of) 6.63901 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(author) 20.3634 Tj
+-250 TJm
+(may) 13.7243 Tj
+-250 TJm
+(not) 10.1857 Tj
+-250 TJm
+(be) 7.52368 Tj
+-250 TJm
+(used) 14.609 Tj
+-250 TJm
+(to) 6.20066 Tj
+-250 TJm
+(endorse) 24.7867 Tj
+-250 TJm
+(or) 6.63901 Tj
+-250 TJm
+(promote) 26.564 Tj
+-250 TJm
+(products) 27.4487 Tj
+-250 TJm
+(deri) 12.3933 Tj
+25 TJm
+(v) 3.985 Tj
+15 TJm
+(ed) 7.52368 Tj
+-250 TJm
+(from) 15.4937 Tj
+-250 TJm
+(this) 11.5167 Tj
+-250 TJm
+(softw) 17.7093 Tj
+10 TJm
+(are) 9.73137 Tj
+-250 TJm
+(without) 24.3563 Tj
+-250 TJm
+(speci\002c) 24.3483 Tj
+-250 TJm
+(prior) 15.4937 Tj
+-250 TJm
+(written) 22.579 Tj
+-250 TJm
+(permission.) 36.9728 Tj
+[1 0 0 1 533.577 545.669] cm
+0 g
+0 G
+[1 0 0 1 -461.577 -9.696] cm
+0 g
+0 G
+[1 0 0 1 -72 -535.973] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 528.135 Td
+/F128_0 7.97 Tf
+(THIS) 17.7093 Tj
+-259 TJm
+(SOFTW) 27.0103 Tj
+120 TJm
+(ARE) 15.94 Tj
+-259 TJm
+(IS) 7.08533 Tj
+-258 TJm
+(PR) 9.74731 Tj
+40 TJm
+(O) 5.75434 Tj
+50 TJm
+(VIDED) 24.7867 Tj
+-259 TJm
+(BY) 11.0703 Tj
+-259 TJm
+(THE) 15.4937 Tj
+-259 TJm
+(A) 5.75434 Tj
+55 TJm
+(UTHOR) 27.4487 Tj
+-258 TJm
+("AS) 13.4374 Tj
+-259 TJm
+(IS") 10.3371 Tj
+-259 TJm
+(AND) 17.263 Tj
+-259 TJm
+(ANY) 17.263 Tj
+-258 TJm
+(EXPRESS) 34.1036 Tj
+-259 TJm
+(OR) 11.0703 Tj
+-259 TJm
+(IMPLIED) 32.3184 Tj
+-259 TJm
+(W) 7.52368 Tj
+120 TJm
+(ARRANTIES,) 46.7122 Tj
+-259 TJm
+(INCLUDING,) 46.2579 Tj
+-258 TJm
+(B) 5.31599 Tj
+10 TJm
+(UT) 10.624 Tj
+-259 TJm
+(NO) 11.5087 Tj
+40 TJm
+(T) 4.86967 Tj
+72 518.571 Td
+(LIMITED) 32.7567 Tj
+-303 TJm
+(T) 4.86967 Tj
+18 TJm
+(O,) 7.74684 Tj
+-303 TJm
+(THE) 15.4937 Tj
+-304 TJm
+(IMPLIED) 32.3184 Tj
+-303 TJm
+(W) 7.52368 Tj
+120 TJm
+(ARRANTIES) 44.7197 Tj
+-303 TJm
+(OF) 10.1857 Tj
+-303 TJm
+(MERCHANT) 44.7197 Tj
+93 TJm
+(ABILITY) 31.872 Tj
+-304 TJm
+(AND) 17.263 Tj
+-303 TJm
+(FITNESS) 31.4417 Tj
+-303 TJm
+(FOR) 15.5017 Tj
+-303 TJm
+(A) 5.75434 Tj
+-303 TJm
+(P) 4.43132 Tj
+92 TJm
+(AR) 11.0703 Tj
+60 TJm
+(TICULAR) 34.534 Tj
+-304 TJm
+(PURPOSE) 34.9883 Tj
+-303 TJm
+(ARE) 15.94 Tj
+-303 TJm
+(DISCLAI-) 34.0877 Tj
+72 509.007 Td
+(MED.) 19.7018 Tj
+-653 TJm
+(IN) 8.40835 Tj
+-326 TJm
+(NO) 11.5087 Tj
+-327 TJm
+(EVENT) 26.1177 Tj
+-326 TJm
+(SHALL) 25.6793 Tj
+-326 TJm
+(THE) 15.4937 Tj
+-327 TJm
+(A) 5.75434 Tj
+55 TJm
+(UTHOR) 27.4487 Tj
+-326 TJm
+(BE) 10.1857 Tj
+-327 TJm
+(LIABLE) 28.3333 Tj
+-326 TJm
+(FOR) 15.5017 Tj
+-326 TJm
+(ANY) 17.263 Tj
+-327 TJm
+(DIRECT) 28.7797 Tj
+74 TJm
+(,) 1.9925 Tj
+-326 TJm
+(INDIRECT) 37.188 Tj
+74 TJm
+(,) 1.9925 Tj
+-327 TJm
+(INCIDENT) 37.6264 Tj
+93 TJm
+(AL,) 12.6165 Tj
+-326 TJm
+(SPECIAL,) 34.3188 Tj
+-327 TJm
+(EXEMPLAR) 42.9503 Tj
+65 TJm
+(Y) 5.75434 Tj
+129 TJm
+(,) 1.9925 Tj
+-326 TJm
+(OR) 11.0703 Tj
+72 499.442 Td
+(CONSEQ) 31.88 Tj
+10 TJm
+(UENTIAL) 34.526 Tj
+-218 TJm
+(D) 5.75434 Tj
+40 TJm
+(AMA) 18.594 Tj
+40 TJm
+(GES) 15.0553 Tj
+-218 TJm
+(\(INCLUDING,) 48.9119 Tj
+-218 TJm
+(B) 5.31599 Tj
+10 TJm
+(UT) 10.624 Tj
+-218 TJm
+(NO) 11.5087 Tj
+40 TJm
+(T) 4.86967 Tj
+-218 TJm
+(LIMITED) 32.7567 Tj
+-219 TJm
+(T) 4.86967 Tj
+18 TJm
+(O,) 7.74684 Tj
+-218 TJm
+(PR) 9.74731 Tj
+40 TJm
+(OCUREMENT) 49.5893 Tj
+-218 TJm
+(OF) 10.1857 Tj
+-218 TJm
+(SUBSTITUTE) 47.82 Tj
+-218 TJm
+(GOODS) 27.4487 Tj
+-218 TJm
+(OR) 11.0703 Tj
+-218 TJm
+(SER) 14.617 Tj
+80 TJm
+(VICES;) 25.241 Tj
+-218 TJm
+(LOSS) 19.4867 Tj
+72 489.878 Td
+(OF) 10.1857 Tj
+-207 TJm
+(USE,) 17.0478 Tj
+-207 TJm
+(D) 5.75434 Tj
+40 TJm
+(A) 5.75434 Tj
+111 TJm
+(T) 4.86967 Tj
+93 TJm
+(A,) 7.74684 Tj
+-208 TJm
+(OR) 11.0703 Tj
+-207 TJm
+(PR) 9.74731 Tj
+40 TJm
+(OFITS;) 24.3563 Tj
+-207 TJm
+(OR) 11.0703 Tj
+-207 TJm
+(B) 5.31599 Tj
+10 TJm
+(USINESS) 32.3263 Tj
+-207 TJm
+(INTERR) 28.7797 Tj
+40 TJm
+(UPTION\)) 31.872 Tj
+-208 TJm
+(HO) 11.5087 Tj
+35 TJm
+(WEVER) 28.3333 Tj
+-207 TJm
+(CA) 11.0703 Tj
+55 TJm
+(USED) 20.8097 Tj
+-207 TJm
+(AND) 17.263 Tj
+-207 TJm
+(ON) 11.5087 Tj
+-207 TJm
+(ANY) 17.263 Tj
+-207 TJm
+(THEOR) 26.564 Tj
+65 TJm
+(Y) 5.75434 Tj
+-208 TJm
+(OF) 10.1857 Tj
+-207 TJm
+(LIABILITY) 39.3957 Tj
+129 TJm
+(,) 1.9925 Tj
+-207 TJm
+(WHETHER) 38.9574 Tj
+72 480.314 Td
+(IN) 8.40835 Tj
+-205 TJm
+(CONTRA) 32.7647 Tj
+40 TJm
+(CT) 10.1857 Tj
+74 TJm
+(,) 1.9925 Tj
+-205 TJm
+(STRICT) 27.4567 Tj
+-204 TJm
+(LIABILITY) 39.3957 Tj
+129 TJm
+(,) 1.9925 Tj
+-205 TJm
+(OR) 11.0703 Tj
+-205 TJm
+(T) 4.86967 Tj
+18 TJm
+(OR) 11.0703 Tj
+60 TJm
+(T) 4.86967 Tj
+-205 TJm
+(\(INCLUDING) 46.9194 Tj
+-204 TJm
+(NEGLIGENCE) 50.466 Tj
+-205 TJm
+(OR) 11.0703 Tj
+-205 TJm
+(O) 5.75434 Tj
+40 TJm
+(THER) 20.8097 Tj
+55 TJm
+(WISE\)) 22.1327 Tj
+-205 TJm
+(ARISING) 32.3184 Tj
+-205 TJm
+(IN) 8.40835 Tj
+-204 TJm
+(ANY) 17.263 Tj
+-205 TJm
+(W) 7.52368 Tj
+120 TJm
+(A) 5.75434 Tj
+105 TJm
+(Y) 5.75434 Tj
+-205 TJm
+(OUT) 16.3783 Tj
+-205 TJm
+(OF) 10.1857 Tj
+-204 TJm
+(THE) 15.4937 Tj
+-205 TJm
+(USE) 15.0553 Tj
+72 470.75 Td
+(OF) 10.1857 Tj
+-250 TJm
+(THIS) 17.7093 Tj
+-250 TJm
+(SOFTW) 27.0103 Tj
+120 TJm
+(ARE,) 17.9325 Tj
+-250 TJm
+(EVEN) 21.248 Tj
+-250 TJm
+(IF) 7.08533 Tj
+-250 TJm
+(AD) 11.5087 Tj
+40 TJm
+(VISED) 23.4637 Tj
+-250 TJm
+(OF) 10.1857 Tj
+-250 TJm
+(THE) 15.4937 Tj
+-250 TJm
+(POSSIBILITY) 47.82 Tj
+-250 TJm
+(OF) 10.1857 Tj
+-250 TJm
+(SUCH) 21.256 Tj
+-250 TJm
+(D) 5.75434 Tj
+40 TJm
+(AMA) 18.594 Tj
+40 TJm
+(GE.) 12.6165 Tj
+[1 0 0 1 72 469.598] cm
+0 g
+0 G
+[1 0 0 1 0 -7.97] cm
+0 g
+0 G
+[1 0 0 1 -72 -461.628] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 453.216 Td
+/F128_0 7.97 Tf
+(P) 4.43132 Tj
+92 TJm
+(A) 5.75434 Tj
+111 TJm
+(TENTS:) 27.0103 Tj
+-296 TJm
+(T) 4.86967 Tj
+80 TJm
+(o) 3.985 Tj
+-295 TJm
+(the) 9.73934 Tj
+-296 TJm
+(best) 12.8397 Tj
+-295 TJm
+(of) 6.63901 Tj
+-296 TJm
+(my) 10.1857 Tj
+-295 TJm
+(kno) 11.955 Tj
+25 TJm
+(wledge,) 25.0099 Tj
+[1 0 0 1 208.544 453.216] cm
+0 g
+0 G
+[1 0 0 1 -208.544 -453.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+208.544 453.216 Td
+/F130_0 7.97 Tf
+(bzip2) 23.91 Tj
+[1 0 0 1 232.454 453.216] cm
+0 g
+0 G
+[1 0 0 1 -232.454 -453.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.81 453.216 Td
+/F128_0 7.97 Tf
+(and) 11.5087 Tj
+[1 0 0 1 248.674 453.216] cm
+0 g
+0 G
+[1 0 0 1 -248.674 -453.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+248.674 453.216 Td
+/F130_0 7.97 Tf
+(libbzip2) 38.256 Tj
+[1 0 0 1 286.931 453.216] cm
+0 g
+0 G
+[1 0 0 1 -286.931 -453.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+289.286 453.216 Td
+/F128_0 7.97 Tf
+(do) 7.97 Tj
+-296 TJm
+(not) 10.1857 Tj
+-295 TJm
+(use) 10.624 Tj
+-296 TJm
+(an) 7.52368 Tj
+15 TJm
+(y) 3.985 Tj
+-295 TJm
+(patented) 27.0024 Tj
+-296 TJm
+(algorithms.) 36.0882 Tj
+-893 TJm
+(Ho) 9.73934 Tj
+25 TJm
+(we) 9.29302 Tj
+25 TJm
+(v) 3.985 Tj
+15 TJm
+(er) 6.19269 Tj
+40 TJm
+(,) 1.9925 Tj
+-307 TJm
+(I) 2.65401 Tj
+-295 TJm
+(do) 7.97 Tj
+-296 TJm
+(not) 10.1857 Tj
+-296 TJm
+(ha) 7.52368 Tj
+20 TJm
+(v) 3.985 Tj
+15 TJm
+(e) 3.53868 Tj
+-295 TJm
+(the) 9.73934 Tj
+-296 TJm
+(resources) 30.0947 Tj
+-295 TJm
+(to) 6.20066 Tj
+72 443.652 Td
+(carry) 16.3704 Tj
+-250 TJm
+(out) 10.1857 Tj
+-250 TJm
+(a) 3.53868 Tj
+-250 TJm
+(patent) 19.4787 Tj
+-250 TJm
+(search.) 22.3479 Tj
+-620 TJm
+(Therefore) 31.4177 Tj
+-250 TJm
+(I) 2.65401 Tj
+-250 TJm
+(cannot) 21.248 Tj
+-250 TJm
+(gi) 6.20066 Tj
+25 TJm
+(v) 3.985 Tj
+15 TJm
+(e) 3.53868 Tj
+-250 TJm
+(an) 7.52368 Tj
+15 TJm
+(y) 3.985 Tj
+-250 TJm
+(guarantee) 30.9794 Tj
+-250 TJm
+(of) 6.63901 Tj
+-250 TJm
+(the) 9.73934 Tj
+-250 TJm
+(abo) 11.5087 Tj
+15 TJm
+(v) 3.985 Tj
+15 TJm
+(e) 3.53868 Tj
+-250 TJm
+(statement.) 32.5415 Tj
+[1 0 0 1 72 441.926] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -391.074] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 46.799 0] cm
+0 g
+0 G
+[1 0 0 1 -46.799 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 3 3
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 140.398 0] cm
+0 g
+0 G
+[1 0 0 1 -140.398 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -13.948] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 707.441 Td
+/F121_0 17.215 Tf
+(T) 10.5184 Tj
+80 TJm
+(ab) 20.0899 Tj
+10 TJm
+(le) 14.3573 Tj
+-278 TJm
+(of) 16.251 Tj
+-278 TJm
+(Contents) 74.5926 Tj
+[1 0 0 1 72 698.619] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.741] cm
+0 g
+0 G
+[1 0 0 1 -72 -686.878] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 686.878 Td
+/F128_0 9.963 Tf
+(1.) 7.47225 Tj
+-310 TJm
+(Introduction) 49.2571 Tj
+[1 0 0 1 131.815 686.878] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -136.797 -686.878] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+145.733 686.878 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 686.878] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -686.878] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 686.878 Td
+/F128_0 9.963 Tf
+(1) 4.9815 Tj
+[1 0 0 1 516.09 686.878] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -72 -674.923] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 674.923 Td
+/F128_0 9.963 Tf
+(2.) 7.47225 Tj
+-310 TJm
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 152.318 674.923] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -157.3 -674.923] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.054 674.923 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 674.923] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -674.923] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 674.923 Td
+/F128_0 9.963 Tf
+(2) 4.9815 Tj
+[1 0 0 1 516.09 674.923] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -662.968] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 662.968 Td
+/F128_0 9.963 Tf
+(2.1.) 14.9445 Tj
+-310 TJm
+(N) 7.19329 Tj
+35 TJm
+(AME) 22.1378 Tj
+[1 0 0 1 142.924 662.968] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -147.905 -662.968] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+157.929 662.968 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 662.968] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -662.968] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 662.968 Td
+/F128_0 9.963 Tf
+(2) 4.9815 Tj
+[1 0 0 1 516.09 662.968] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -651.013] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 651.013 Td
+/F128_0 9.963 Tf
+(2.2.) 14.9445 Tj
+-310 TJm
+(SYNOPSIS) 47.0552 Tj
+[1 0 0 1 160.996 651.013] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -165.977 -651.013] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+175.821 651.013 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 651.013] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -651.013] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 651.013 Td
+/F128_0 9.963 Tf
+(2) 4.9815 Tj
+[1 0 0 1 516.09 651.013] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.855] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -639.058] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 639.058 Td
+/F128_0 9.963 Tf
+(2.3.) 14.9445 Tj
+-310 TJm
+(DESCRIPTION) 64.7595 Tj
+[1 0 0 1 178.699 639.058] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -183.681 -639.058] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+193.528 639.058 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 639.058] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -639.058] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 639.058 Td
+/F128_0 9.963 Tf
+(3) 4.9815 Tj
+[1 0 0 1 516.09 639.058] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.855] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -627.103] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 627.103 Td
+/F128_0 9.963 Tf
+(2.4.) 14.9445 Tj
+-310 TJm
+(OPTIONS) 42.0638 Tj
+[1 0 0 1 156.005 627.103] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -160.986 -627.103] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+171.111 627.103 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 627.103] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -627.103] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 627.103 Td
+/F128_0 9.963 Tf
+(4) 4.9815 Tj
+[1 0 0 1 516.09 627.103] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -615.147] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 615.147 Td
+/F128_0 9.963 Tf
+(2.5.) 14.9445 Tj
+-310 TJm
+(MEMOR) 37.6402 Tj
+65 TJm
+(Y) 7.19329 Tj
+-250 TJm
+(MAN) 23.2437 Tj
+35 TJm
+(A) 7.19329 Tj
+40 TJm
+(GEMENT) 41.5059 Tj
+[1 0 0 1 231.81 615.147] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -236.791 -615.147] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+246.65 615.147 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 615.147] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -615.147] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 615.147 Td
+/F128_0 9.963 Tf
+(5) 4.9815 Tj
+[1 0 0 1 516.09 615.147] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -603.192] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 603.192 Td
+/F128_0 9.963 Tf
+(2.6.) 14.9445 Tj
+-310 TJm
+(RECO) 26.5713 Tj
+50 TJm
+(VERING) 37.6303 Tj
+-250 TJm
+(D) 7.19329 Tj
+40 TJm
+(A) 7.19329 Tj
+111 TJm
+(T) 6.08739 Tj
+93 TJm
+(A) 7.19329 Tj
+-250 TJm
+(FR) 12.1847 Tj
+40 TJm
+(OM) 16.0504 Tj
+-249 TJm
+(D) 7.19329 Tj
+40 TJm
+(AMA) 23.2437 Tj
+40 TJm
+(GED) 20.474 Tj
+-250 TJm
+(FILES) 26.5713 Tj
+[1 0 0 1 317.359 603.192] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -322.34 -603.192] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+331.489 603.192 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 603.192] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -603.192] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 603.192 Td
+/F128_0 9.963 Tf
+(6) 4.9815 Tj
+[1 0 0 1 516.09 603.192] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -591.237] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 591.237 Td
+/F128_0 9.963 Tf
+(2.7.) 14.9445 Tj
+-310 TJm
+(PERFORMANCE) 73.6266 Tj
+-250 TJm
+(NO) 14.3866 Tj
+40 TJm
+(TES) 17.7142 Tj
+[1 0 0 1 221.758 591.237] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -226.739 -591.237] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+237.196 591.237 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 591.237] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -591.237] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 591.237 Td
+/F128_0 9.963 Tf
+(6) 4.9815 Tj
+[1 0 0 1 516.09 591.237] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -579.282] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 579.282 Td
+/F128_0 9.963 Tf
+(2.8.) 14.9445 Tj
+-310 TJm
+(CA) 13.8386 Tj
+135 TJm
+(VEA) 20.474 Tj
+111 TJm
+(TS) 11.6268 Tj
+[1 0 0 1 157.429 579.282] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -162.411 -579.282] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+171.824 579.282 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 579.282] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -579.282] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 579.282 Td
+/F128_0 9.963 Tf
+(7) 4.9815 Tj
+[1 0 0 1 516.09 579.282] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.855] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -567.327] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 567.327 Td
+/F128_0 9.963 Tf
+(2.9.) 14.9445 Tj
+-310 TJm
+(A) 7.19329 Tj
+55 TJm
+(UTHOR) 34.3126 Tj
+[1 0 0 1 154.899 567.327] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -159.88 -567.327] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+168.345 567.327 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 567.327] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -567.327] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 567.327 Td
+/F128_0 9.963 Tf
+(7) 4.9815 Tj
+[1 0 0 1 516.09 567.327] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.219] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.736] cm
+0 g
+0 G
+[1 0 0 1 -72 -555.372] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 555.372 Td
+/F128_0 9.963 Tf
+(3.) 7.47225 Tj
+-310 TJm
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip) 27.6772 Tj
+1 TJm
+(2) 4.9815 Tj
+[1 0 0 1 195.197 555.372] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -200.178 -555.372] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.633 555.372 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 555.372] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -555.372] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 555.372 Td
+/F128_0 9.963 Tf
+(8) 4.9815 Tj
+[1 0 0 1 516.09 555.372] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -543.416] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 543.416 Td
+/F128_0 9.963 Tf
+(3.1.) 14.9445 Tj
+-310 TJm
+(T) 6.08739 Tj
+80 TJm
+(op-le) 20.474 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(structure) 34.8605 Tj
+[1 0 0 1 188.831 543.416] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -193.812 -543.416] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+203.022 543.416 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 543.416] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -543.416] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 543.416 Td
+/F128_0 9.963 Tf
+(8) 4.9815 Tj
+[1 0 0 1 516.09 543.416] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -531.461] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 531.461 Td
+/F128_0 9.963 Tf
+(3.1.1.) 22.4168 Tj
+-310 TJm
+(Lo) 11.0689 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(summary) 37.0823 Tj
+[1 0 0 1 225.195 531.461] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -230.176 -531.461] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+238.915 531.461 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 531.461] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -531.461] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 531.461 Td
+/F128_0 9.963 Tf
+(9) 4.9815 Tj
+[1 0 0 1 516.09 531.461] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -519.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 519.506 Td
+/F128_0 9.963 Tf
+(3.1.2.) 22.4168 Tj
+-310 TJm
+(High-le) 30.437 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(summary) 37.0823 Tj
+[1 0 0 1 227.107 519.506] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -232.089 -519.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+242.085 519.506 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 519.506] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -519.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 519.506 Td
+/F128_0 9.963 Tf
+(9) 4.9815 Tj
+[1 0 0 1 516.09 519.506] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -507.551] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 507.551 Td
+/F128_0 9.963 Tf
+(3.1.3.) 22.4168 Tj
+-310 TJm
+(Utility) 26.0234 Tj
+-250 TJm
+(functions) 37.0823 Tj
+-250 TJm
+(sum) 16.6083 Tj
+1 TJm
+(mary) 20.474 Tj
+[1 0 0 1 250.489 507.551] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -255.471 -507.551] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+264.846 507.551 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 507.551] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -507.551] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 507.551 Td
+/F128_0 9.963 Tf
+(9) 4.9815 Tj
+[1 0 0 1 516.09 507.551] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -495.596] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 495.596 Td
+/F128_0 9.963 Tf
+(3.2.) 14.9445 Tj
+-310 TJm
+(Error) 21.0219 Tj
+-250 TJm
+(handling) 34.8705 Tj
+[1 0 0 1 172.323 495.596] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -177.305 -495.596] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+185.636 495.596 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 495.596] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -495.596] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 495.596 Td
+/F128_0 9.963 Tf
+(10) 9.963 Tj
+[1 0 0 1 516.09 495.596] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -483.641] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 483.641 Td
+/F128_0 9.963 Tf
+(3.3.) 14.9445 Tj
+-310 TJm
+(Lo) 11.0689 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+[1 0 0 1 191.481 483.641] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -196.462 -483.641] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+206.284 483.641 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 483.641] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -483.641] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 483.641 Td
+/F128_0 9.963 Tf
+(11) 9.963 Tj
+[1 0 0 1 516.09 483.641] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -471.685] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 471.685 Td
+/F128_0 9.963 Tf
+(3.3.1.) 22.4168 Tj
+-310 TJm
+(BZ2_bzCompressInit) 85.7914 Tj
+[1 0 0 1 231.112 471.685] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -236.094 -471.685] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+246.025 471.685 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 471.685] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -471.685] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 471.685 Td
+/F128_0 9.963 Tf
+(11) 9.963 Tj
+[1 0 0 1 516.09 471.685] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -459.73] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 459.73 Td
+/F128_0 9.963 Tf
+(3.3.2.) 22.4168 Tj
+-310 TJm
+(BZ2_bzCompress) 71.9528 Tj
+[1 0 0 1 217.275 459.73] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -222.256 -459.73] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+232.464 459.73 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 459.73] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -459.73] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 459.73 Td
+/F128_0 9.963 Tf
+(13) 9.963 Tj
+[1 0 0 1 516.09 459.73] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -447.775] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 447.775 Td
+/F128_0 9.963 Tf
+(3.3.3.) 22.4168 Tj
+-310 TJm
+(BZ2_bzCompressEnd) 88.0032 Tj
+[1 0 0 1 233.324 447.775] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -238.306 -447.775] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+247.131 447.775 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 447.775] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -447.775] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 447.775 Td
+/F128_0 9.963 Tf
+(16) 9.963 Tj
+[1 0 0 1 516.09 447.775] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -435.82] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 435.82 Td
+/F128_0 9.963 Tf
+(3.3.4.) 22.4168 Tj
+-310 TJm
+(BZ2_bzDecompressIni) 92.4168 Tj
+1 TJm
+(t) 2.76971 Tj
+[1 0 0 1 240.507 435.82] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -245.488 -435.82] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+255.15 435.82 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 435.82] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -435.82] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 435.82 Td
+/F128_0 9.963 Tf
+(16) 9.963 Tj
+[1 0 0 1 516.09 435.82] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -423.865] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 423.865 Td
+/F128_0 9.963 Tf
+(3.3.5.) 22.4168 Tj
+-310 TJm
+(BZ2_bzDecompress) 81.3479 Tj
+[1 0 0 1 226.669 423.865] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -231.651 -423.865] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+241.589 423.865 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 423.865] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -423.865] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 423.865 Td
+/F128_0 9.963 Tf
+(17) 9.963 Tj
+[1 0 0 1 516.09 423.865] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -411.91] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 411.91 Td
+/F128_0 9.963 Tf
+(3.3.6.) 22.4168 Tj
+-310 TJm
+(BZ2_bzDecompressEn) 92.4168 Tj
+1 TJm
+(d) 4.9815 Tj
+[1 0 0 1 242.719 411.91] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -247.7 -411.91] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+256.256 411.91 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 411.91] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -411.91] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 411.91 Td
+/F128_0 9.963 Tf
+(18) 9.963 Tj
+[1 0 0 1 516.09 411.91] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -399.954] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 399.954 Td
+/F128_0 9.963 Tf
+(3.4.) 14.9445 Tj
+-310 TJm
+(High-le) 30.437 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+[1 0 0 1 193.394 399.954] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -198.375 -399.954] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+207.24 399.954 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 399.954] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -399.954] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 399.954 Td
+/F128_0 9.963 Tf
+(18) 9.963 Tj
+[1 0 0 1 516.09 399.954] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -387.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 387.999 Td
+/F128_0 9.963 Tf
+(3.4.1.) 22.4168 Tj
+-310 TJm
+(BZ2_bzReadOpen) 74.1546 Tj
+[1 0 0 1 219.477 387.999] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -224.458 -387.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+233.565 387.999 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 387.999] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -387.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 387.999 Td
+/F128_0 9.963 Tf
+(19) 9.963 Tj
+[1 0 0 1 516.09 387.999] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -376.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 376.044 Td
+/F128_0 9.963 Tf
+(3.4.2.) 22.4168 Tj
+-310 TJm
+(BZ2_bzRead) 52.5748 Tj
+[1 0 0 1 197.898 376.044] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -202.879 -376.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+211.706 376.044 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 376.044] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -376.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 376.044 Td
+/F128_0 9.963 Tf
+(20) 9.963 Tj
+[1 0 0 1 516.09 376.044] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.18] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.775] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -364.089] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 364.089 Td
+/F128_0 9.963 Tf
+(3.4.3.) 22.4168 Tj
+-310 TJm
+(BZ2_bzReadGetUnuse) 92.4168 Tj
+1 TJm
+(d) 4.9815 Tj
+[1 0 0 1 242.719 364.089] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -247.7 -364.089] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+256.256 364.089 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 364.089] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -364.089] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 364.089 Td
+/F128_0 9.963 Tf
+(21) 9.963 Tj
+[1 0 0 1 516.09 364.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.181] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.774] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -352.134] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 352.134 Td
+/F128_0 9.963 Tf
+(3.4.4.) 22.4168 Tj
+-310 TJm
+(BZ2_bzReadClose) 75.2705 Tj
+[1 0 0 1 220.592 352.134] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -225.573 -352.134] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.123 352.134 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 352.134] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -352.134] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 352.134 Td
+/F128_0 9.963 Tf
+(22) 9.963 Tj
+[1 0 0 1 516.09 352.134] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.181] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.774] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -340.179] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 340.179 Td
+/F128_0 9.963 Tf
+(3.4.5.) 22.4168 Tj
+-310 TJm
+(BZ2_bzWriteOpen) 76.3664 Tj
+[1 0 0 1 221.688 340.179] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -226.669 -340.179] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+236.885 340.179 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 340.179] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -340.179] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 340.179 Td
+/F128_0 9.963 Tf
+(22) 9.963 Tj
+[1 0 0 1 516.09 340.179] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -328.223] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 328.223 Td
+/F128_0 9.963 Tf
+(3.4.6.) 22.4168 Tj
+-310 TJm
+(BZ2_bzWrite) 54.7865 Tj
+[1 0 0 1 200.109 328.223] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -205.09 -328.223] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+215.026 328.223 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 328.223] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -328.223] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 328.223 Td
+/F128_0 9.963 Tf
+(23) 9.963 Tj
+[1 0 0 1 516.09 328.223] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.18] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.775] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -316.268] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 316.268 Td
+/F128_0 9.963 Tf
+(3.4.7.) 22.4168 Tj
+-310 TJm
+(BZ2_bzWriteClose) 77.4823 Tj
+[1 0 0 1 222.804 316.268] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -227.785 -316.268] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+237.443 316.268 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 316.268] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -316.268] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 316.268 Td
+/F128_0 9.963 Tf
+(23) 9.963 Tj
+[1 0 0 1 516.09 316.268] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.18] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.775] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -304.313] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 304.313 Td
+/F128_0 9.963 Tf
+(3.4.8.) 22.4168 Tj
+-310 TJm
+(Handling) 37.0823 Tj
+-250 TJm
+(embedded) 40.9479 Tj
+-250 TJm
+(com) 17.1563 Tj
+1 TJm
+(pressed) 29.879 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(streams) 30.437 Tj
+[1 0 0 1 327.38 304.313] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -332.362 -304.313] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+342.865 304.313 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 304.313] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -304.313] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 304.313 Td
+/F128_0 9.963 Tf
+(24) 9.963 Tj
+[1 0 0 1 516.09 304.313] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -292.358] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 292.358 Td
+/F128_0 9.963 Tf
+(3.4.9.) 22.4168 Tj
+-310 TJm
+(Standard) 35.4185 Tj
+-250 TJm
+(\002le-reading/) 48.6991 Tj
+1 TJm
+(writing) 28.7831 Tj
+-250 TJm
+(code) 18.8101 Tj
+[1 0 0 1 282.011 292.358] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -286.992 -292.358] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+295.827 292.358 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 292.358] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -292.358] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 292.358 Td
+/F128_0 9.963 Tf
+(25) 9.963 Tj
+[1 0 0 1 516.09 292.358] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -280.403] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 280.403 Td
+/F128_0 9.963 Tf
+(3.5.) 14.9445 Tj
+-310 TJm
+(Utility) 26.0234 Tj
+-250 TJm
+(functions) 37.0823 Tj
+[1 0 0 1 179.536 280.403] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -184.517 -280.403] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+193.67 280.403 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 280.403] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -280.403] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 280.403 Td
+/F128_0 9.963 Tf
+(26) 9.963 Tj
+[1 0 0 1 516.09 280.403] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -268.448] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 268.448 Td
+/F128_0 9.963 Tf
+(3.5.1.) 22.4168 Tj
+-310 TJm
+(BZ2_bzBuf) 47.0453 Tj
+25 TJm
+(fT) 9.40507 Tj
+80 TJm
+(oBuf) 19.926 Tj
+25 TJm
+(fCom) 22.6957 Tj
+1 TJm
+(press) 20.474 Tj
+[1 0 0 1 263.571 268.448] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -268.552 -268.448] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+277.751 268.448 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 268.448] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -268.448] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 268.448 Td
+/F128_0 9.963 Tf
+(26) 9.963 Tj
+[1 0 0 1 516.09 268.448] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -256.492] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 256.492 Td
+/F128_0 9.963 Tf
+(3.5.2.) 22.4168 Tj
+-310 TJm
+(BZ2_bzBuf) 47.0453 Tj
+25 TJm
+(fT) 9.40507 Tj
+80 TJm
+(oBuf) 19.926 Tj
+25 TJm
+(fDeco) 24.3396 Tj
+1 TJm
+(mpress) 28.2252 Tj
+[1 0 0 1 272.965 256.492] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -277.947 -256.492] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+286.876 256.492 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 256.492] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -256.492] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 256.492 Td
+/F128_0 9.963 Tf
+(27) 9.963 Tj
+[1 0 0 1 516.09 256.492] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -244.537] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 244.537 Td
+/F128_0 9.963 Tf
+(3.6.) 14.9445 Tj
+-310 TJm
+(zlib) 14.9445 Tj
+-250 TJm
+(compatibility) 53.1426 Tj
+-250 TJm
+(functio) 28.2252 Tj
+1 TJm
+(ns) 8.85711 Tj
+[1 0 0 1 224.088 244.537] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -229.069 -244.537] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+238.085 244.537 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 244.537] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -244.537] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 244.537 Td
+/F128_0 9.963 Tf
+(28) 9.963 Tj
+[1 0 0 1 516.09 244.537] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -232.582] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 232.582 Td
+/F128_0 9.963 Tf
+(3.7.) 14.9445 Tj
+-310 TJm
+(Using) 23.8016 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(library) 26.5614 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(stdio) 19.378 Tj
+1 TJm
+(-free) 18.8002 Tj
+-250 TJm
+(en) 9.40507 Tj
+40 TJm
+(vironment) 40.9579 Tj
+[1 0 0 1 291.734 232.582] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -296.715 -232.582] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+305.116 232.582 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 232.582] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -232.582] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 232.582 Td
+/F128_0 9.963 Tf
+(28) 9.963 Tj
+[1 0 0 1 516.09 232.582] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -220.627] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 220.627 Td
+/F128_0 9.963 Tf
+(3.7.1.) 22.4168 Tj
+-310 TJm
+(Getting) 29.889 Tj
+-250 TJm
+(rid) 11.0689 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(stdio) 19.378 Tj
+[1 0 0 1 221.429 220.627] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -226.41 -220.627] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+236.755 220.627 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 220.627] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -220.627] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 220.627 Td
+/F128_0 9.963 Tf
+(29) 9.963 Tj
+[1 0 0 1 516.09 220.627] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -208.672] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 208.672 Td
+/F128_0 9.963 Tf
+(3.7.2.) 22.4168 Tj
+-310 TJm
+(Critical) 29.889 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(handlin) 29.889 Tj
+1 TJm
+(g) 4.9815 Tj
+[1 0 0 1 234.42 208.672] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -239.401 -208.672] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+249.892 208.672 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 208.672] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -208.672] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 208.672 Td
+/F128_0 9.963 Tf
+(29) 9.963 Tj
+[1 0 0 1 516.09 208.672] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -196.717] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 196.717 Td
+/F128_0 9.963 Tf
+(3.8.) 14.9445 Tj
+-310 TJm
+(Making) 30.9949 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(W) 9.40507 Tj
+40 TJm
+(indo) 17.7142 Tj
+25 TJm
+(ws) 11.0689 Tj
+-250 TJm
+(DLL) 19.3681 Tj
+[1 0 0 1 213.738 196.717] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -218.719 -196.717] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+228.482 196.717 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 196.717] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -196.717] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 196.717 Td
+/F128_0 9.963 Tf
+(29) 9.963 Tj
+[1 0 0 1 516.09 196.717] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -72 -184.761] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 184.761 Td
+/F128_0 9.963 Tf
+(4.) 7.47225 Tj
+-310 TJm
+(Miscellanea) 48.1412 Tj
+[1 0 0 1 130.699 184.761] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -135.68 -184.761] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+144.898 184.761 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 184.761] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -184.761] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 184.761 Td
+/F128_0 9.963 Tf
+(31) 9.963 Tj
+[1 0 0 1 516.09 184.761] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -172.806] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 172.806 Td
+/F128_0 9.963 Tf
+(4.1.) 14.9445 Tj
+-310 TJm
+(Limitations) 45.9494 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compre) 29.879 Tj
+1 TJm
+(ssed) 17.1563 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(format) 26.5614 Tj
+[1 0 0 1 279.141 172.806] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -284.122 -172.806] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+294.392 172.806 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 172.806] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -172.806] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 172.806 Td
+/F128_0 9.963 Tf
+(31) 9.963 Tj
+[1 0 0 1 516.09 172.806] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -160.851] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 160.851 Td
+/F128_0 9.963 Tf
+(4.2.) 14.9445 Tj
+-310 TJm
+(Portability) 42.0737 Tj
+-250 TJm
+(issues) 23.8016 Tj
+[1 0 0 1 182.305 160.851] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -187.286 -160.851] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+197.268 160.851 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 160.851] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -160.851] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 160.851 Td
+/F128_0 9.963 Tf
+(32) 9.963 Tj
+[1 0 0 1 516.09 160.851] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -148.896] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 148.896 Td
+/F128_0 9.963 Tf
+(4.3.) 14.9445 Tj
+-310 TJm
+(Reporting) 39.852 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ugs) 13.8386 Tj
+[1 0 0 1 174.904 148.896] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -179.885 -148.896] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+189.14 148.896 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 148.896] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -148.896] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 148.896 Td
+/F128_0 9.963 Tf
+(32) 9.963 Tj
+[1 0 0 1 516.09 148.896] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -136.941] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 136.941 Td
+/F128_0 9.963 Tf
+(4.4.) 14.9445 Tj
+-310 TJm
+(Did) 14.9445 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(get) 12.1748 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(right) 18.8201 Tj
+-250 TJm
+(packag) 28.2152 Tj
+1 TJm
+(e?) 8.84714 Tj
+[1 0 0 1 236.512 136.941] cm
+0 g
+0 G
+[1 0 0 1 3.088 0] cm
+0 g
+0 G
+[1 0 0 1 3.089 0] cm
+0 g
+0 G
+[1 0 0 1 -242.689 -136.941] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+254.348 136.941 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 136.941] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -136.941] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 136.941 Td
+/F128_0 9.963 Tf
+(33) 9.963 Tj
+[1 0 0 1 516.09 136.941] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 23.91 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -95.91 -124.986] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.91 124.986 Td
+/F128_0 9.963 Tf
+(4.5.) 14.9445 Tj
+-310 TJm
+(Further) 29.3311 Tj
+-250 TJm
+(Reading) 33.2067 Tj
+[1 0 0 1 178.968 124.986] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -183.95 -124.986] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+193.386 124.986 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 124.986] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -124.986] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 124.986 Td
+/F128_0 9.963 Tf
+(34) 9.963 Tj
+[1 0 0 1 516.09 124.986] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 0 -62.014] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 41.399 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -494.668 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+536.068 50.852 Td
+/F128_0 9.963 Tf
+(iii) 8.30914 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 4 4
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 140.398 0] cm
+0 g
+0 G
+[1 0 0 1 -140.398 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -13.948] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 701.916 Td
+/F121_0 24.79 Tf
+(1.) 20.6749 Tj
+-278 TJm
+(Intr) 39.9367 Tj
+20 TJm
+(oduction) 104.663 Tj
+[1 0 0 1 72 701.606] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -691.643] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 679.998 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 679.998] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -679.998] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.507 679.998 Td
+/F128_0 9.963 Tf
+(compresses) 45.9294 Tj
+-263 TJm
+(\002les) 16.6083 Tj
+-262 TJm
+(using) 21.5898 Tj
+-263 TJm
+(the) 12.1748 Tj
+-263 TJm
+(Burro) 23.2437 Tj
+25 TJm
+(ws-Wheeler) 48.1313 Tj
+-263 TJm
+(block-sor) 37.6303 Tj
+1 TJm
+(ting) 15.5024 Tj
+-263 TJm
+(te) 7.19329 Tj
+15 TJm
+(xt) 7.75121 Tj
+-263 TJm
+(compression) 50.363 Tj
+-263 TJm
+(algorithm,) 41.2369 Tj
+-266 TJm
+(and) 14.3866 Tj
+-263 TJm
+(H) 7.19329 Tj
+1 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fman) 20.474 Tj
+-263 TJm
+(coding.) 29.61 Tj
+72 668.043 Td
+(Compression) 52.5847 Tj
+-203 TJm
+(is) 6.64532 Tj
+-203 TJm
+(generally) 37.0723 Tj
+-204 TJm
+(c) 4.42357 Tj
+1 TJm
+(onsiderably) 46.4874 Tj
+-204 TJm
+(better) 22.6858 Tj
+-203 TJm
+(than) 17.1563 Tj
+-203 TJm
+(that) 14.9445 Tj
+-203 TJm
+(achie) 21.0219 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ed) 9.40507 Tj
+-203 TJm
+(by) 9.963 Tj
+-204 TJm
+(more) 20.474 Tj
+-203 TJm
+(con) 14.3866 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(entional) 32.1008 Tj
+-203 TJm
+(LZ77/LZ78-based) 73.0487 Tj
+-203 TJm
+(compressors,) 52.2958 Tj
+72 656.087 Td
+(and) 14.3866 Tj
+-250 TJm
+(approaches) 44.8136 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(performan) 41.4959 Tj
+1 TJm
+(ce) 8.84714 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(PPM) 19.936 Tj
+-250 TJm
+(f) 3.31768 Tj
+10 TJm
+(amily) 22.6957 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(statistical) 37.6402 Tj
+-250 TJm
+(compressors.) 52.2958 Tj
+[1 0 0 1 72 653.931] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -643.968] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 634.17 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 634.17] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -634.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+105.074 634.17 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-320 TJm
+(b) 4.9815 Tj
+20 TJm
+(uilt) 13.2906 Tj
+-319 TJm
+(on) 9.963 Tj
+-320 TJm
+(top) 12.7327 Tj
+-320 TJm
+(of) 8.29918 Tj
+[1 0 0 1 176.712 634.17] cm
+0 g
+0 G
+[1 0 0 1 -176.712 -634.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+176.712 634.17 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 224.533 634.17] cm
+0 g
+0 G
+[1 0 0 1 -224.533 -634.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+224.533 634.17 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-337 TJm
+(a) 4.42357 Tj
+-320 TJm
+(\003e) 9.963 Tj
+15 TJm
+(xible) 19.926 Tj
+-319 TJm
+(library) 26.5614 Tj
+-320 TJm
+(for) 11.6169 Tj
+-320 TJm
+(handling) 34.8705 Tj
+-319 TJm
+(compressed) 47.0353 Tj
+-320 TJm
+(data) 16.5984 Tj
+-320 TJm
+(in) 7.75121 Tj
+-319 TJm
+(the) 12.1748 Tj
+[1 0 0 1 449.816 634.17] cm
+0 g
+0 G
+[1 0 0 1 -449.816 -634.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+449.816 634.17 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 479.704 634.17] cm
+0 g
+0 G
+[1 0 0 1 -479.704 -634.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+482.889 634.17 Td
+/F128_0 9.963 Tf
+(format.) 29.0521 Tj
+-1038 TJm
+(This) 17.7142 Tj
+72 622.214 Td
+(manual) 29.3311 Tj
+-316 TJm
+(describes) 37.0723 Tj
+-316 TJm
+(both) 17.7142 Tj
+-316 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-316 TJm
+(to) 7.75121 Tj
+-316 TJm
+(use) 13.2807 Tj
+-317 TJm
+(the) 12.1748 Tj
+-316 TJm
+(program) 33.7546 Tj
+-316 TJm
+(and) 14.3866 Tj
+-316 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-316 TJm
+(to) 7.75121 Tj
+-316 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-316 TJm
+(with) 17.7142 Tj
+-316 TJm
+(the) 12.1748 Tj
+-316 TJm
+(library) 26.5614 Tj
+-317 TJm
+(int) 10.5209 Tj
+1 TJm
+(erf) 11.0589 Tj
+10 TJm
+(ace.) 15.7615 Tj
+-1018 TJm
+(M) 8.85711 Tj
+1 TJm
+(ost) 11.6268 Tj
+-317 TJm
+(of) 8.29918 Tj
+-316 TJm
+(the) 12.1748 Tj
+-316 TJm
+(manual) 29.3311 Tj
+-316 TJm
+(is) 6.64532 Tj
+72 610.259 Td
+(de) 9.40507 Tj
+25 TJm
+(v) 4.9815 Tj
+20 TJm
+(oted) 17.1563 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(the) 12.1748 Tj
+-249 TJm
+(program,) 36.2454 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(good) 19.926 Tj
+-250 TJm
+(ne) 9.40507 Tj
+25 TJm
+(ws) 11.0689 Tj
+-250 TJm
+(if) 6.08739 Tj
+-250 TJm
+(your) 18.2622 Tj
+-250 TJm
+(interest) 29.3311 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(only) 17.7142 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(th) 7.75121 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(program.) 36.2454 Tj
+[1 0 0 1 72 608.102] cm
+0 g
+0 G
+[1 0 0 1 0 -29.723] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -578.379] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 578.379 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 578.379] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -86.944 -578.379] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 578.379 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-259 TJm
+(to) 7.75121 Tj
+-260 TJm
+(use) 13.2807 Tj
+-259 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 156.985 578.379] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -156.985 -578.379] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+159.57 578.379 Td
+/F128_0 9.963 Tf
+([2]) 11.6169 Tj
+[1 0 0 1 171.186 578.379] cm
+0 0 1 rg
+0 0 1 RG
+0 g
+0 G
+[1 0 0 1 -171.186 -578.379] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+173.771 578.379 Td
+/F128_0 9.963 Tf
+(describes) 37.0723 Tj
+-259 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-260 TJm
+(to) 7.75121 Tj
+-259 TJm
+(use) 13.2807 Tj
+[1 0 0 1 259.119 578.379] cm
+0 g
+0 G
+[1 0 0 1 -259.119 -578.379] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+259.119 578.379 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 289.007 578.379] cm
+0 g
+0 G
+[1 0 0 1 -289.007 -578.379] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+289.007 578.379 Td
+/F128_0 9.963 Tf
+(;) 2.76971 Tj
+-264 TJm
+(this) 14.3965 Tj
+-260 TJm
+(i) 2.76971 Tj
+1 TJm
+(s) 3.87561 Tj
+-260 TJm
+(the) 12.1748 Tj
+-259 TJm
+(only) 17.7142 Tj
+-260 TJm
+(part) 15.4925 Tj
+-259 TJm
+(you) 14.9445 Tj
+-259 TJm
+(need) 18.8101 Tj
+-260 TJm
+(to) 7.75121 Tj
+-259 TJm
+(read) 17.1463 Tj
+-260 TJm
+(if) 6.08739 Tj
+-259 TJm
+(you) 14.9445 Tj
+-259 TJm
+(just) 14.3965 Tj
+-260 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-259 TJm
+(to) 7.75121 Tj
+-260 TJm
+(kno) 14.9445 Tj
+25 TJm
+(w) 7.19329 Tj
+86.944 566.424 Td
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(operate) 29.3211 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(program.) 36.2454 Tj
+[1 0 0 1 199.302 566.424] cm
+0 g
+0 G
+[1 0 0 1 -127.302 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -544.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 544.506 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 544.506] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -86.944 -544.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 544.506 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 197.09 544.506] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -197.09 -544.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+199.58 544.506 Td
+/F128_0 9.963 Tf
+([8]) 11.6169 Tj
+[1 0 0 1 211.197 544.506] cm
+0 0 1 rg
+0 0 1 RG
+0 g
+0 G
+[1 0 0 1 -211.197 -544.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+213.687 544.506 Td
+/F128_0 9.963 Tf
+(describes) 37.0723 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(programming) 54.2386 Tj
+-250 TJm
+(int) 10.5209 Tj
+1 TJm
+(erf) 11.0589 Tj
+10 TJm
+(aces) 17.1463 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(detail,) 24.6285 Tj
+-250 TJm
+(and) 14.3866 Tj
+[1 0 0 1 417.501 544.506] cm
+0 g
+0 G
+[1 0 0 1 -345.501 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -522.588] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 522.588 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 522.588] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -86.944 -522.588] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 522.588 Td
+/F128_0 9.963 Tf
+(Miscellanea) 48.1412 Tj
+[1 0 0 1 135.083 522.588] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -135.083 -522.588] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+137.573 522.588 Td
+/F128_0 9.963 Tf
+([31]) 16.5984 Tj
+[1 0 0 1 154.171 522.588] cm
+0 0 1 rg
+0 0 1 RG
+0 g
+0 G
+[1 0 0 1 -154.171 -522.588] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+156.662 522.588 Td
+/F128_0 9.963 Tf
+(records) 29.3211 Tj
+-250 TJm
+(some) 21.0319 Tj
+-250 TJm
+(miscellane) 42.6118 Tj
+1 TJm
+(ous) 13.8386 Tj
+-250 TJm
+(notes) 21.0319 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(I) 3.31768 Tj
+-250 TJm
+(thought) 30.4469 Tj
+-250 TJm
+(ought) 22.6957 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(recorded) 34.8506 Tj
+-250 TJm
+(some) 21.0319 Tj
+25 TJm
+(where.) 26.8304 Tj
+[1 0 0 1 492.31 522.588] cm
+0 g
+0 G
+[1 0 0 1 -420.31 -471.736] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.063 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -496.332 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+539.395 50.852 Td
+/F128_0 9.963 Tf
+(1) 4.9815 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 5 5
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 140.398 0] cm
+0 g
+0 G
+[1 0 0 1 -140.398 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -13.948] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 701.916 Td
+/F121_0 24.79 Tf
+(2.) 20.6749 Tj
+-278 TJm
+(Ho) 33.0451 Tj
+15 TJm
+(w) 19.2866 Tj
+-278 TJm
+(to) 23.4018 Tj
+-278 TJm
+(use) 42.7132 Tj
+-278 TJm
+(bzip2) 63.3632 Tj
+[1 0 0 1 72 696.784] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -14.944] cm
+0 g
+0 G
+[1 0 0 1 -72 -671.877] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 656.35 Td
+/F121_0 17.215 Tf
+(T) 10.5184 Tj
+80 TJm
+(ab) 20.0899 Tj
+10 TJm
+(le) 14.3573 Tj
+-278 TJm
+(of) 16.251 Tj
+-278 TJm
+(Contents) 74.5926 Tj
+[1 0 0 1 72 647.528] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.74] cm
+0 g
+0 G
+[1 0 0 1 -72 -635.788] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 635.788 Td
+/F128_0 9.963 Tf
+(2.1.) 14.9445 Tj
+-310 TJm
+(N) 7.19329 Tj
+35 TJm
+(AME) 22.1378 Tj
+[1 0 0 1 119.013 635.788] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -123.995 -635.788] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+132.691 635.788 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 635.788] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -635.788] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 635.788 Td
+/F128_0 9.963 Tf
+(2) 4.9815 Tj
+[1 0 0 1 516.09 635.788] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -72 -623.832] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 623.832 Td
+/F128_0 9.963 Tf
+(2.2.) 14.9445 Tj
+-310 TJm
+(SYNOPSIS) 47.0552 Tj
+[1 0 0 1 137.086 623.832] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -142.067 -623.832] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+150.582 623.832 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 623.832] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -623.832] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 623.832 Td
+/F128_0 9.963 Tf
+(2) 4.9815 Tj
+[1 0 0 1 516.09 623.832] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -72 -611.877] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 611.877 Td
+/F128_0 9.963 Tf
+(2.3.) 14.9445 Tj
+-310 TJm
+(DESCRIPTION) 64.7595 Tj
+[1 0 0 1 154.789 611.877] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -159.77 -611.877] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+168.29 611.877 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 611.877] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -611.877] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 611.877 Td
+/F128_0 9.963 Tf
+(3) 4.9815 Tj
+[1 0 0 1 516.09 611.877] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -72 -599.922] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 599.922 Td
+/F128_0 9.963 Tf
+(2.4.) 14.9445 Tj
+-310 TJm
+(OPTIONS) 42.0638 Tj
+[1 0 0 1 132.094 599.922] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -137.076 -599.922] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+145.873 599.922 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 599.922] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -599.922] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 599.922 Td
+/F128_0 9.963 Tf
+(4) 4.9815 Tj
+[1 0 0 1 516.09 599.922] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.855] cm
+0 g
+0 G
+[1 0 0 1 -72 -587.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 587.967 Td
+/F128_0 9.963 Tf
+(2.5.) 14.9445 Tj
+-310 TJm
+(MEMOR) 37.6402 Tj
+65 TJm
+(Y) 7.19329 Tj
+-250 TJm
+(MAN) 23.2437 Tj
+35 TJm
+(A) 7.19329 Tj
+40 TJm
+(GEMENT) 41.5059 Tj
+[1 0 0 1 207.9 587.967] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -212.881 -587.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+221.412 587.967 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 587.967] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -587.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 587.967 Td
+/F128_0 9.963 Tf
+(5) 4.9815 Tj
+[1 0 0 1 516.09 587.967] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.855] cm
+0 g
+0 G
+[1 0 0 1 -72 -576.012] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 576.012 Td
+/F128_0 9.963 Tf
+(2.6.) 14.9445 Tj
+-310 TJm
+(RECO) 26.5713 Tj
+50 TJm
+(VERING) 37.6303 Tj
+-250 TJm
+(D) 7.19329 Tj
+40 TJm
+(A) 7.19329 Tj
+111 TJm
+(T) 6.08739 Tj
+93 TJm
+(A) 7.19329 Tj
+-250 TJm
+(FR) 12.1847 Tj
+40 TJm
+(OM) 16.0504 Tj
+-249 TJm
+(D) 7.19329 Tj
+40 TJm
+(AMA) 23.2437 Tj
+40 TJm
+(GED) 20.474 Tj
+-250 TJm
+(FILES) 26.5713 Tj
+[1 0 0 1 293.449 576.012] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -298.43 -576.012] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+308.464 576.012 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 576.012] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -576.012] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 576.012 Td
+/F128_0 9.963 Tf
+(6) 4.9815 Tj
+[1 0 0 1 516.09 576.012] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.855] cm
+0 g
+0 G
+[1 0 0 1 -72 -564.057] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 564.057 Td
+/F128_0 9.963 Tf
+(2.7.) 14.9445 Tj
+-310 TJm
+(PERFORMANCE) 73.6266 Tj
+-250 TJm
+(NO) 14.3866 Tj
+40 TJm
+(TES) 17.7142 Tj
+[1 0 0 1 197.847 564.057] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -202.829 -564.057] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+211.958 564.057 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 564.057] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -564.057] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 564.057 Td
+/F128_0 9.963 Tf
+(6) 4.9815 Tj
+[1 0 0 1 516.09 564.057] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -72 -552.101] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 552.101 Td
+/F128_0 9.963 Tf
+(2.8.) 14.9445 Tj
+-310 TJm
+(CA) 13.8386 Tj
+135 TJm
+(VEA) 20.474 Tj
+111 TJm
+(TS) 11.6268 Tj
+[1 0 0 1 133.519 552.101] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -138.5 -552.101] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+148.799 552.101 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 552.101] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -552.101] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 552.101 Td
+/F128_0 9.963 Tf
+(7) 4.9815 Tj
+[1 0 0 1 516.09 552.101] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.099] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.856] cm
+0 g
+0 G
+[1 0 0 1 -72 -540.146] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 540.146 Td
+/F128_0 9.963 Tf
+(2.9.) 14.9445 Tj
+-310 TJm
+(A) 7.19329 Tj
+55 TJm
+(UTHOR) 34.3126 Tj
+[1 0 0 1 130.989 540.146] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -135.97 -540.146] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+145.32 540.146 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 540.146] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -540.146] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 540.146 Td
+/F128_0 9.963 Tf
+(7) 4.9815 Tj
+[1 0 0 1 516.09 540.146] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.219] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -520.002] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 508.266 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-250 TJm
+(chapter) 29.3211 Tj
+-250 TJm
+(contains) 33.2067 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(cop) 14.3866 Tj
+10 TJm
+(y) 4.9815 Tj
+-249 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+[1 0 0 1 213.837 508.266] cm
+0 g
+0 G
+[1 0 0 1 -213.837 -508.266] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+213.837 508.266 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 243.725 508.266] cm
+0 g
+0 G
+[1 0 0 1 -243.725 -508.266] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+246.215 508.266 Td
+/F128_0 9.963 Tf
+(man) 17.1563 Tj
+-250 TJm
+(page,) 21.3009 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(nothing) 30.4469 Tj
+-250 TJm
+(else.) 17.9832 Tj
+[1 0 0 1 72 506.109] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -496.146] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 473.513 Td
+/F121_0 20.659 Tf
+(2.1.) 34.4592 Tj
+-278 TJm
+(NAME) 60.8201 Tj
+[1 0 0 1 72 473.513] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -31.881] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -441.632] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 441.632 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 441.632] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -441.632] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 441.632 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 116.832 441.632] cm
+0 g
+0 G
+[1 0 0 1 -116.832 -441.632] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+116.832 441.632 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 121.813 441.632] cm
+0 g
+0 G
+[1 0 0 1 -121.813 -441.632] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+121.813 441.632 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 163.656 441.632] cm
+0 g
+0 G
+[1 0 0 1 -163.656 -441.632] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+166.147 441.632 Td
+/F128_0 9.963 Tf
+(-) 3.31768 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(block-sorting) 53.1327 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(compre) 29.879 Tj
+1 TJm
+(ssor) 16.0504 Tj
+40 TJm
+(,) 2.49075 Tj
+-250 TJm
+(v1.0.3) 24.9075 Tj
+[1 0 0 1 325.129 441.632] cm
+0 g
+0 G
+[1 0 0 1 -253.129 -21.917] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -419.715] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 419.715 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 419.715] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -419.715] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 419.715 Td
+/F130_0 9.963 Tf
+(bzcat) 29.889 Tj
+[1 0 0 1 116.832 419.715] cm
+0 g
+0 G
+[1 0 0 1 -116.832 -419.715] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.323 419.715 Td
+/F128_0 9.963 Tf
+(-) 3.31768 Tj
+-250 TJm
+(decompresses) 55.3345 Tj
+-250 TJm
+(\002les) 16.6083 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(st) 6.64532 Tj
+1 TJm
+(dout) 17.7142 Tj
+[1 0 0 1 236.651 419.715] cm
+0 g
+0 G
+[1 0 0 1 -164.651 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -397.797] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 397.797 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 397.797] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -397.797] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 397.797 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 158.675 397.797] cm
+0 g
+0 G
+[1 0 0 1 -158.675 -397.797] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.166 397.797 Td
+/F128_0 9.963 Tf
+(-) 3.31768 Tj
+-250 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(ers) 11.6169 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(from) 19.3681 Tj
+-250 TJm
+(damage) 30.9849 Tj
+1 TJm
+(d) 4.9815 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+-250 TJm
+(\002les) 16.6083 Tj
+[1 0 0 1 323.545 397.797] cm
+0 g
+0 G
+[1 0 0 1 -251.545 -12.12] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -375.715] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 353.081 Td
+/F121_0 20.659 Tf
+(2.2.) 34.4592 Tj
+-278 TJm
+(SYNOPSIS) 105.629 Tj
+[1 0 0 1 72 352.823] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -31.622] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -321.201] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 321.201 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 321.201] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -321.201] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 321.201 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 116.832 321.201] cm
+0 g
+0 G
+[1 0 0 1 -116.832 -321.201] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.323 321.201 Td
+/F128_0 9.963 Tf
+([) 3.31768 Tj
+-250 TJm
+(-cdfkqstvzVL123456789) 100.168 Tj
+-250 TJm
+(]) 3.31768 Tj
+-250 TJm
+([) 3.31768 Tj
+-249 TJm
+(\002lenames) 38.1882 Tj
+-250 TJm
+(...) 7.47225 Tj
+-620 TJm
+(]) 3.31768 Tj
+[1 0 0 1 297.045 321.201] cm
+0 g
+0 G
+[1 0 0 1 -225.045 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -299.283] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 299.283 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 299.283] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -299.283] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 299.283 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 128.787 299.283] cm
+0 g
+0 G
+[1 0 0 1 -128.787 -299.283] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+131.278 299.283 Td
+/F128_0 9.963 Tf
+([) 3.31768 Tj
+-250 TJm
+(-fkvsVL) 33.7546 Tj
+-250 TJm
+(]) 3.31768 Tj
+-250 TJm
+([) 3.31768 Tj
+-250 TJm
+(\002lenames) 38.1882 Tj
+-250 TJm
+(...) 7.47225 Tj
+-620 TJm
+(]) 3.31768 Tj
+[1 0 0 1 242.589 299.283] cm
+0 g
+0 G
+[1 0 0 1 -170.589 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -277.365] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 277.365 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 277.365] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -277.365] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 277.365 Td
+/F130_0 9.963 Tf
+(bzcat) 29.889 Tj
+[1 0 0 1 116.832 277.365] cm
+0 g
+0 G
+[1 0 0 1 -116.832 -277.365] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.323 277.365 Td
+/F128_0 9.963 Tf
+([) 3.31768 Tj
+-250 TJm
+(-s) 7.19329 Tj
+-250 TJm
+(]) 3.31768 Tj
+-250 TJm
+([) 3.31768 Tj
+-250 TJm
+(\002lenames) 38.1882 Tj
+-250 TJm
+(...) 7.47225 Tj
+-620 TJm
+(]) 3.31768 Tj
+[1 0 0 1 204.074 277.365] cm
+0 g
+0 G
+[1 0 0 1 -132.074 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -255.447] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 255.447 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 255.447] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -255.447] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 255.447 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 158.675 255.447] cm
+0 g
+0 G
+[1 0 0 1 -158.675 -255.447] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.166 255.447 Td
+/F128_0 9.963 Tf
+(\002lename) 34.3126 Tj
+[1 0 0 1 195.477 255.447] cm
+0 g
+0 G
+[1 0 0 1 -123.477 -204.595] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.063 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -496.332 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+539.395 50.852 Td
+/F128_0 9.963 Tf
+(2) 4.9815 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 6 6
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 105.519 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -371.59 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.109 749.245 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 704.93 Td
+/F121_0 20.659 Tf
+(2.3.) 34.4592 Tj
+-278 TJm
+(DESCRIPTION) 141.184 Tj
+[1 0 0 1 72 704.672] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -694.709] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 683.012 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 683.012] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -683.012] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.56 683.012 Td
+/F128_0 9.963 Tf
+(compresses) 45.9294 Tj
+-268 TJm
+(\002les) 16.6083 Tj
+-268 TJm
+(using) 21.5898 Tj
+-268 TJm
+(the) 12.1748 Tj
+-268 TJm
+(Burro) 23.2437 Tj
+25 TJm
+(ws-Wheeler) 48.1313 Tj
+-268 TJm
+(block) 22.1378 Tj
+-268 TJm
+(sorting) 27.6772 Tj
+-268 TJm
+(te) 7.19329 Tj
+15 TJm
+(xt) 7.75121 Tj
+-268 TJm
+(compression) 50.363 Tj
+-268 TJm
+(algorithm,) 41.2369 Tj
+-273 TJm
+(and) 14.3866 Tj
+-268 TJm
+(Huf) 15.4925 Tj
+25 TJm
+(fman) 20.474 Tj
+-268 TJm
+(coding.) 29.61 Tj
+72 671.057 Td
+(Compression) 52.5847 Tj
+-203 TJm
+(is) 6.64532 Tj
+-203 TJm
+(generally) 37.0723 Tj
+-204 TJm
+(c) 4.42357 Tj
+1 TJm
+(onsiderably) 46.4874 Tj
+-204 TJm
+(better) 22.6858 Tj
+-203 TJm
+(than) 17.1563 Tj
+-203 TJm
+(that) 14.9445 Tj
+-203 TJm
+(achie) 21.0219 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ed) 9.40507 Tj
+-203 TJm
+(by) 9.963 Tj
+-204 TJm
+(more) 20.474 Tj
+-203 TJm
+(con) 14.3866 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(entional) 32.1008 Tj
+-203 TJm
+(LZ77/LZ78-based) 73.0487 Tj
+-203 TJm
+(compressors,) 52.2958 Tj
+72 659.101 Td
+(and) 14.3866 Tj
+-250 TJm
+(approaches) 44.8136 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(performan) 41.4959 Tj
+1 TJm
+(ce) 8.84714 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(PPM) 19.936 Tj
+-250 TJm
+(f) 3.31768 Tj
+10 TJm
+(amily) 22.6957 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(statistical) 37.6402 Tj
+-250 TJm
+(compressors.) 52.2958 Tj
+[1 0 0 1 72 656.945] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -646.982] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 637.184 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-250 TJm
+(command-line) 57.5563 Tj
+-250 TJm
+(options) 29.341 Tj
+-250 TJm
+(ar) 7.74125 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(deliberately) 47.0353 Tj
+-250 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+-250 TJm
+(similar) 27.6772 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(those) 21.0319 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(GNU) 21.5799 Tj
+[1 0 0 1 364.869 637.184] cm
+0 g
+0 G
+[1 0 0 1 -364.869 -637.184] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+364.869 637.184 Td
+/F130_0 9.963 Tf
+(gzip) 23.9112 Tj
+[1 0 0 1 388.779 637.184] cm
+0 g
+0 G
+[1 0 0 1 -388.779 -637.184] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+388.779 637.184 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-250 TJm
+(are) 12.1648 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(identical.) 36.8033 Tj
+[1 0 0 1 72 635.027] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -625.064] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 615.266 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 615.266] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -615.266] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+105.175 615.266 Td
+/F128_0 9.963 Tf
+(e) 4.42357 Tj
+15 TJm
+(xpects) 25.4555 Tj
+-330 TJm
+(a) 4.42357 Tj
+-330 TJm
+(list) 12.1847 Tj
+-329 TJm
+(of) 8.29918 Tj
+-330 TJm
+(\002le) 12.7327 Tj
+-330 TJm
+(names) 25.4555 Tj
+-330 TJm
+(to) 7.75121 Tj
+-330 TJm
+(accompan) 40.39 Tj
+15 TJm
+(y) 4.9815 Tj
+-329 TJm
+(the) 12.1748 Tj
+-330 TJm
+(command-line) 57.5563 Tj
+-330 TJm
+(\003ags.) 21.3109 Tj
+-1099 TJm
+(Each) 19.916 Tj
+-330 TJm
+(\002le) 12.7327 Tj
+-330 TJm
+(is) 6.64532 Tj
+-330 TJm
+(replaced) 33.7447 Tj
+-330 TJm
+(by) 9.963 Tj
+-329 TJm
+(a) 4.42357 Tj
+-330 TJm
+(compressed) 47.0353 Tj
+72 603.311 Td
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-348 TJm
+(of) 8.29918 Tj
+-349 TJm
+(itself,) 22.4168 Tj
+-373 TJm
+(with) 17.7142 Tj
+-349 TJm
+(the) 12.1748 Tj
+-348 TJm
+(name) 21.5799 Tj
+[1 0 0 1 204.444 603.311] cm
+0 g
+0 G
+[1 0 0 1 -204.444 -603.311] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.444 603.311 Td
+/F130_0 9.963 Tf
+(original_name.bz2) 101.623 Tj
+[1 0 0 1 306.063 603.311] cm
+0 g
+0 G
+[1 0 0 1 -306.063 -603.311] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+306.063 603.311 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1211 TJm
+(Each) 19.916 Tj
+-349 TJm
+(compressed) 47.0353 Tj
+-348 TJm
+(\002le) 12.7327 Tj
+-349 TJm
+(has) 13.2807 Tj
+-348 TJm
+(the) 12.1748 Tj
+-349 TJm
+(same) 20.474 Tj
+-348 TJm
+(modi\002cation) 50.3729 Tj
+-349 TJm
+(date,) 19.0891 Tj
+72 591.356 Td
+(permissions,) 50.094 Tj
+-344 TJm
+(and,) 16.8773 Tj
+-344 TJm
+(when) 21.5799 Tj
+-325 TJm
+(possible,) 35.1495 Tj
+-344 TJm
+(o) 4.9815 Tj
+25 TJm
+(w) 7.19329 Tj
+1 TJm
+(nership) 29.3311 Tj
+-326 TJm
+(as) 8.29918 Tj
+-325 TJm
+(the) 12.1748 Tj
+-325 TJm
+(corresponding) 56.9983 Tj
+-325 TJm
+(original,) 33.4856 Tj
+-344 TJm
+(so) 8.85711 Tj
+-325 TJm
+(that) 14.9445 Tj
+-325 TJm
+(these) 20.474 Tj
+-325 TJm
+(properties) 39.842 Tj
+-325 TJm
+(can) 13.8286 Tj
+-325 TJm
+(be) 9.40507 Tj
+-325 TJm
+(correctly) 35.4085 Tj
+72 579.4 Td
+(restored) 32.0908 Tj
+-308 TJm
+(at) 7.19329 Tj
+-307 TJm
+(decompression) 59.768 Tj
+-308 TJm
+(time.) 20.205 Tj
+-483 TJm
+(File) 15.5024 Tj
+-308 TJm
+(name) 21.5799 Tj
+-308 TJm
+(handling) 34.8705 Tj
+-308 TJm
+(is) 6.64532 Tj
+-307 TJm
+(nai) 12.1748 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-308 TJm
+(in) 7.75121 Tj
+-308 TJm
+(the) 12.1748 Tj
+-308 TJm
+(sense) 21.5799 Tj
+-308 TJm
+(that) 14.9445 Tj
+-307 TJm
+(there) 19.916 Tj
+-308 TJm
+(is) 6.64532 Tj
+-308 TJm
+(no) 9.963 Tj
+-308 TJm
+(mechanism) 45.3815 Tj
+-307 TJm
+(for) 11.6169 Tj
+-308 TJm
+(preserving) 42.0538 Tj
+72 567.445 Td
+(original) 30.9949 Tj
+-334 TJm
+(\002le) 12.7327 Tj
+-333 TJm
+(names,) 27.9462 Tj
+-355 TJm
+(permissi) 33.7646 Tj
+1 TJm
+(ons,) 16.3294 Tj
+-355 TJm
+(o) 4.9815 Tj
+25 TJm
+(wnerships) 40.4 Tj
+-334 TJm
+(or) 8.29918 Tj
+-333 TJm
+(dates) 20.474 Tj
+-334 TJm
+(in) 7.75121 Tj
+-333 TJm
+(\002lesystems) 44.2855 Tj
+-334 TJm
+(which) 24.3496 Tj
+-333 TJm
+(lack) 16.5984 Tj
+-334 TJm
+(these) 20.474 Tj
+-334 TJm
+(concepts,) 37.3513 Tj
+-354 TJm
+(or) 8.29918 Tj
+-334 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-333 TJm
+(serious) 28.2252 Tj
+-334 TJm
+(\002le) 12.7327 Tj
+72 555.49 Td
+(name) 21.5799 Tj
+-250 TJm
+(length) 24.9075 Tj
+-250 TJm
+(restrictions,) 46.7663 Tj
+-250 TJm
+(su) 8.85711 Tj
+1 TJm
+(ch) 9.40507 Tj
+-250 TJm
+(as) 8.29918 Tj
+-250 TJm
+(MS-DOS.) 40.131 Tj
+[1 0 0 1 72 553.333] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -543.371] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 533.572 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 533.572] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -533.572] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.379 533.572 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 121.255 533.572] cm
+0 g
+0 G
+[1 0 0 1 -121.255 -533.572] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+121.255 533.572 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 163.098 533.572] cm
+0 g
+0 G
+[1 0 0 1 -163.098 -533.572] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+165.589 533.572 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-250 TJm
+(by) 9.963 Tj
+-250 TJm
+(def) 12.7228 Tj
+10 TJm
+(ault) 14.9445 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(erwrite) 28.2152 Tj
+-250 TJm
+(e) 4.42357 Tj
+16 TJm
+(xisting) 27.1292 Tj
+-250 TJm
+(\002les.) 19.0991 Tj
+-620 TJm
+(If) 6.63536 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(happen,) 31.2639 Tj
+-250 TJm
+(specify) 28.7731 Tj
+-250 TJm
+(the) 12.1748 Tj
+[1 0 0 1 495.977 533.572] cm
+0 g
+0 G
+[1 0 0 1 -495.977 -533.572] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+495.977 533.572 Td
+/F130_0 9.963 Tf
+(-f) 11.9556 Tj
+[1 0 0 1 507.932 533.572] cm
+0 g
+0 G
+[1 0 0 1 -507.932 -533.572] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+510.423 533.572 Td
+/F128_0 9.963 Tf
+(\003ag.) 17.4353 Tj
+[1 0 0 1 72 531.415] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -521.453] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 511.654 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-284 TJm
+(no) 9.963 Tj
+-285 TJm
+(\002) 5.53943 Tj
+1 TJm
+(le) 7.19329 Tj
+-285 TJm
+(names) 25.4555 Tj
+-284 TJm
+(are) 12.1648 Tj
+-284 TJm
+(speci\002ed,) 37.9092 Tj
+[1 0 0 1 193.935 511.654] cm
+0 g
+0 G
+[1 0 0 1 -193.935 -511.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+193.935 511.654 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 223.823 511.654] cm
+0 g
+0 G
+[1 0 0 1 -223.823 -511.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+226.655 511.654 Td
+/F128_0 9.963 Tf
+(compresses) 45.9294 Tj
+-284 TJm
+(from) 19.3681 Tj
+-284 TJm
+(standard) 33.7546 Tj
+-284 TJm
+(input) 20.4839 Tj
+-285 TJm
+(to) 7.75121 Tj
+-284 TJm
+(standard) 33.7546 Tj
+-284 TJm
+(output.) 27.9562 Tj
+-826 TJm
+(In) 8.29918 Tj
+-284 TJm
+(this) 14.3965 Tj
+-284 TJm
+(case,) 19.6371 Tj
+[1 0 0 1 491.778 511.654] cm
+0 g
+0 G
+[1 0 0 1 -491.778 -511.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+491.778 511.654 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 521.666 511.654] cm
+0 g
+0 G
+[1 0 0 1 -521.666 -511.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+524.498 511.654 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+72 499.699 Td
+(decline) 28.7731 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(write) 20.474 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-249 TJm
+(output) 25.4654 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(terminal,) 35.6974 Tj
+-250 TJm
+(as) 8.29918 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(entirely) 30.437 Tj
+-250 TJm
+(incompre) 37.6303 Tj
+1 TJm
+(hensible) 33.2067 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(therefore) 35.9565 Tj
+-250 TJm
+(pointless.) 37.9192 Tj
+[1 0 0 1 72 497.542] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -487.58] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 477.781 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 113.843 477.781] cm
+0 g
+0 G
+[1 0 0 1 -113.843 -477.781] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+116.176 477.781 Td
+/F128_0 9.963 Tf
+(\(or) 11.6169 Tj
+[1 0 0 1 130.125 477.781] cm
+0 g
+0 G
+[1 0 0 1 -130.125 -477.781] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+130.125 477.781 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+-600 TJm
+(-d) 11.9556 Tj
+[1 0 0 1 177.946 477.781] cm
+0 g
+0 G
+[1 0 0 1 -177.946 -477.781] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+177.946 477.781 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-234 TJm
+(decompresses) 55.3345 Tj
+-234 TJm
+(all) 9.963 Tj
+-234 TJm
+(speci\002ed) 35.4185 Tj
+-234 TJm
+(\002les.) 19.0991 Tj
+-609 TJm
+(Files) 19.378 Tj
+-234 TJm
+(which) 24.3496 Tj
+-235 TJm
+(we) 11.6169 Tj
+1 TJm
+(re) 7.74125 Tj
+-235 TJm
+(not) 12.7327 Tj
+-234 TJm
+(created) 28.7632 Tj
+-234 TJm
+(by) 9.963 Tj
+[1 0 0 1 445.012 477.781] cm
+0 g
+0 G
+[1 0 0 1 -445.012 -477.781] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+445.012 477.781 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 474.9 477.781] cm
+0 g
+0 G
+[1 0 0 1 -474.9 -477.781] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.233 477.781 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-234 TJm
+(be) 9.40507 Tj
+-234 TJm
+(detected) 33.1967 Tj
+72 465.826 Td
+(and) 14.3866 Tj
+-279 TJm
+(ignored,) 32.9277 Tj
+-287 TJm
+(and) 14.3866 Tj
+-280 TJm
+(a) 4.42357 Tj
+-279 TJm
+(w) 7.19329 Tj
+10 TJm
+(arning) 25.4555 Tj
+-279 TJm
+(issued.) 27.3983 Tj
+[1 0 0 1 216.033 465.826] cm
+0 g
+0 G
+[1 0 0 1 -216.033 -465.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+216.033 465.826 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 245.921 465.826] cm
+0 g
+0 G
+[1 0 0 1 -245.921 -465.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+248.705 465.826 Td
+/F128_0 9.963 Tf
+(attempts) 33.7646 Tj
+-279 TJm
+(to) 7.75121 Tj
+-280 TJm
+(guess) 22.1378 Tj
+-279 TJm
+(the) 12.1748 Tj
+-280 TJm
+(\002lenam) 29.889 Tj
+1 TJm
+(e) 4.42357 Tj
+-280 TJm
+(for) 11.6169 Tj
+-279 TJm
+(the) 12.1748 Tj
+-280 TJm
+(decompressed) 56.4404 Tj
+-279 TJm
+(\002le) 12.7327 Tj
+-280 TJm
+(fr) 6.63536 Tj
+1 TJm
+(om) 12.7327 Tj
+-280 TJm
+(that) 14.9445 Tj
+-279 TJm
+(of) 8.29918 Tj
+-280 TJm
+(the) 12.1748 Tj
+72 453.871 Td
+(compressed) 47.0353 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(as) 8.29918 Tj
+-250 TJm
+(follo) 18.8201 Tj
+25 TJm
+(ws:) 13.8386 Tj
+[1 0 0 1 72 451.714] cm
+0 g
+0 G
+[1 0 0 1 0 -29.723] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -421.991] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 421.991 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 421.991] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -421.991] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 421.991 Td
+/F130_0 9.963 Tf
+(filename.bz2) 71.7336 Tj
+[1 0 0 1 164.653 421.991] cm
+0 g
+0 G
+[1 0 0 1 -164.653 -421.991] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.143 421.991 Td
+/F128_0 9.963 Tf
+(becomes) 34.8605 Tj
+[1 0 0 1 204.493 421.991] cm
+0 g
+0 G
+[1 0 0 1 -204.493 -421.991] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.493 421.991 Td
+/F130_0 9.963 Tf
+(filename) 47.8224 Tj
+[1 0 0 1 252.313 421.991] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -180.313 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -400.073] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 400.073 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 400.073] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -400.073] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 400.073 Td
+/F130_0 9.963 Tf
+(filename.bz) 65.7558 Tj
+[1 0 0 1 158.675 400.073] cm
+0 g
+0 G
+[1 0 0 1 -158.675 -400.073] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.166 400.073 Td
+/F128_0 9.963 Tf
+(becomes) 34.8605 Tj
+[1 0 0 1 198.515 400.073] cm
+0 g
+0 G
+[1 0 0 1 -198.515 -400.073] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+198.515 400.073 Td
+/F130_0 9.963 Tf
+(filename) 47.8224 Tj
+[1 0 0 1 246.336 400.073] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -174.336 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -378.155] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 378.155 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 378.155] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -378.155] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 378.155 Td
+/F130_0 9.963 Tf
+(filename.tbz2) 77.7114 Tj
+[1 0 0 1 164.653 378.155] cm
+0 g
+0 G
+[1 0 0 1 -164.653 -378.155] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.143 378.155 Td
+/F128_0 9.963 Tf
+(becomes) 34.8605 Tj
+[1 0 0 1 204.493 378.155] cm
+0 g
+0 G
+[1 0 0 1 -204.493 -378.155] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.493 378.155 Td
+/F130_0 9.963 Tf
+(filename.tar) 71.7336 Tj
+[1 0 0 1 276.224 378.155] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -204.224 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -356.237] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 356.237 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 356.237] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -356.237] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 356.237 Td
+/F130_0 9.963 Tf
+(filename.tbz) 71.7336 Tj
+[1 0 0 1 164.653 356.237] cm
+0 g
+0 G
+[1 0 0 1 -164.653 -356.237] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.143 356.237 Td
+/F128_0 9.963 Tf
+(becomes) 34.8605 Tj
+[1 0 0 1 204.493 356.237] cm
+0 g
+0 G
+[1 0 0 1 -204.493 -356.237] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.493 356.237 Td
+/F130_0 9.963 Tf
+(filename.tar) 71.7336 Tj
+[1 0 0 1 276.224 356.237] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -204.224 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -334.319] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 334.319 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 334.319] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -334.319] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 334.319 Td
+/F130_0 9.963 Tf
+(anyothername) 71.7336 Tj
+[1 0 0 1 164.653 334.319] cm
+0 g
+0 G
+[1 0 0 1 -164.653 -334.319] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.143 334.319 Td
+/F128_0 9.963 Tf
+(becomes) 34.8605 Tj
+[1 0 0 1 204.493 334.319] cm
+0 g
+0 G
+[1 0 0 1 -204.493 -334.319] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.493 334.319 Td
+/F130_0 9.963 Tf
+(anyothername.out) 95.6448 Tj
+[1 0 0 1 300.134 334.319] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -228.134 -11.526] cm
+0 g
+0 G
+[1 0 0 1 -72 -322.793] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 312.402 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-342 TJm
+(the) 12.1748 Tj
+-342 TJm
+(\002le) 12.7327 Tj
+-342 TJm
+(does) 18.2622 Tj
+-342 TJm
+(not) 12.7327 Tj
+-342 TJm
+(end) 14.3866 Tj
+-342 TJm
+(in) 7.75121 Tj
+-342 TJm
+(one) 14.3866 Tj
+-343 TJm
+(of) 8.29918 Tj
+-342 TJm
+(the) 12.1748 Tj
+-342 TJm
+(recognised) 43.1597 Tj
+-342 TJm
+(endings,) 33.4856 Tj
+[1 0 0 1 309.305 312.402] cm
+0 g
+0 G
+[1 0 0 1 -309.305 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+309.305 312.402 Td
+/F130_0 9.963 Tf
+(.bz2) 23.9112 Tj
+[1 0 0 1 333.215 312.402] cm
+0 g
+0 G
+[1 0 0 1 -333.215 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+333.215 312.402 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 339.344 312.402] cm
+0 g
+0 G
+[1 0 0 1 -339.344 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+339.344 312.402 Td
+/F130_0 9.963 Tf
+(.bz) 17.9334 Tj
+[1 0 0 1 357.276 312.402] cm
+0 g
+0 G
+[1 0 0 1 -357.276 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+357.276 312.402 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 363.405 312.402] cm
+0 g
+0 G
+[1 0 0 1 -363.405 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+363.405 312.402 Td
+/F130_0 9.963 Tf
+(.tbz2) 29.889 Tj
+[1 0 0 1 393.293 312.402] cm
+0 g
+0 G
+[1 0 0 1 -393.293 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+396.702 312.402 Td
+/F128_0 9.963 Tf
+(or) 8.29918 Tj
+[1 0 0 1 408.409 312.402] cm
+0 g
+0 G
+[1 0 0 1 -408.409 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+408.409 312.402 Td
+/F130_0 9.963 Tf
+(.tbz) 23.9112 Tj
+[1 0 0 1 432.319 312.402] cm
+0 g
+0 G
+[1 0 0 1 -432.319 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+432.319 312.402 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 438.448 312.402] cm
+0 g
+0 G
+[1 0 0 1 -438.448 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+438.448 312.402 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 468.336 312.402] cm
+0 g
+0 G
+[1 0 0 1 -468.336 -312.402] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+471.744 312.402 Td
+/F128_0 9.963 Tf
+(complains) 40.9579 Tj
+-342 TJm
+(that) 14.9445 Tj
+-342 TJm
+(it) 5.53943 Tj
+72 300.446 Td
+(cannot) 26.5614 Tj
+-250 TJm
+(guess) 22.1378 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(name) 21.5799 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-249 TJm
+(original) 30.9949 Tj
+-250 TJm
+(\002le,) 15.2235 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(uses) 17.1563 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(original) 30.9949 Tj
+-250 TJm
+(name) 21.5799 Tj
+-250 TJm
+(with) 17.7142 Tj
+[1 0 0 1 370.009 300.446] cm
+0 g
+0 G
+[1 0 0 1 -370.009 -300.446] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+370.009 300.446 Td
+/F130_0 9.963 Tf
+(.out) 23.9112 Tj
+[1 0 0 1 393.92 300.446] cm
+0 g
+0 G
+[1 0 0 1 -393.92 -300.446] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+396.41 300.446 Td
+/F128_0 9.963 Tf
+(appended.) 40.669 Tj
+[1 0 0 1 72 298.29] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -288.327] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 278.529 Td
+/F128_0 9.963 Tf
+(As) 11.0689 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(compression,) 52.8537 Tj
+-250 TJm
+(supply) 26.5713 Tj
+1 TJm
+(ing) 12.7327 Tj
+-250 TJm
+(no) 9.963 Tj
+-250 TJm
+(\002lenames) 38.1882 Tj
+-250 TJm
+(causes) 26.0034 Tj
+-250 TJm
+(decompression) 59.768 Tj
+-250 TJm
+(from) 19.3681 Tj
+-250 TJm
+(standard) 33.7546 Tj
+-250 TJm
+(inp) 12.7327 Tj
+1 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(standard) 33.7546 Tj
+-250 TJm
+(output.) 27.9562 Tj
+[1 0 0 1 72 276.372] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -266.409] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 256.611 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 113.843 256.611] cm
+0 g
+0 G
+[1 0 0 1 -113.843 -256.611] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+116.409 256.611 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-257 TJm
+(correctly) 35.4085 Tj
+-258 TJm
+(decompress) 47.0353 Tj
+-257 TJm
+(a) 4.42357 Tj
+-258 TJm
+(\002l) 8.30914 Tj
+1 TJm
+(e) 4.42357 Tj
+-258 TJm
+(which) 24.3496 Tj
+-257 TJm
+(is) 6.64532 Tj
+-258 TJm
+(the) 12.1748 Tj
+-257 TJm
+(concatenation) 55.3345 Tj
+-258 TJm
+(of) 8.29918 Tj
+-257 TJm
+(tw) 9.963 Tj
+10 TJm
+(o) 4.9815 Tj
+-257 TJm
+(or) 8.29918 Tj
+-258 TJm
+(more) 20.474 Tj
+-257 TJm
+(compressed) 47.0353 Tj
+-258 TJm
+(\002les.) 19.0991 Tj
+-665 TJm
+(The) 15.4925 Tj
+-257 TJm
+(result) 22.1378 Tj
+-258 TJm
+(is) 6.64532 Tj
+72 244.656 Td
+(the) 12.1748 Tj
+-239 TJm
+(concatena) 39.8321 Tj
+1 TJm
+(tion) 15.5024 Tj
+-239 TJm
+(of) 8.29918 Tj
+-239 TJm
+(the) 12.1748 Tj
+-238 TJm
+(corresponding) 56.9983 Tj
+-239 TJm
+(uncompressed) 56.9983 Tj
+-238 TJm
+(\002les.) 19.0991 Tj
+-613 TJm
+(Inte) 15.4925 Tj
+15 TJm
+(grity) 18.8201 Tj
+-238 TJm
+(testing) 26.5713 Tj
+-239 TJm
+(\() 3.31768 Tj
+[1 0 0 1 382.247 244.656] cm
+0 g
+0 G
+[1 0 0 1 -382.247 -244.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+382.247 244.656 Td
+/F130_0 9.963 Tf
+(-t) 11.9556 Tj
+[1 0 0 1 394.202 244.656] cm
+0 g
+0 G
+[1 0 0 1 -394.202 -244.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+394.202 244.656 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-239 TJm
+(of) 8.29918 Tj
+-238 TJm
+(concatenated) 52.0069 Tj
+-239 TJm
+(compressed) 47.0353 Tj
+-238 TJm
+(\002les) 16.6083 Tj
+-239 TJm
+(is) 6.64532 Tj
+72 232.7 Td
+(also) 16.0504 Tj
+-250 TJm
+(supported.) 41.7848 Tj
+[1 0 0 1 72 230.544] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -220.581] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 210.783 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-399 TJm
+(can) 13.8286 Tj
+-399 TJm
+(also) 16.0504 Tj
+-399 TJm
+(compress) 37.6303 Tj
+-399 TJm
+(or) 8.29918 Tj
+-399 TJm
+(decompress) 47.0353 Tj
+-399 TJm
+(\002les) 16.6083 Tj
+-399 TJm
+(to) 7.75121 Tj
+-399 TJm
+(the) 12.1748 Tj
+-399 TJm
+(standard) 33.7546 Tj
+-399 TJm
+(output) 25.4654 Tj
+-399 TJm
+(by) 9.963 Tj
+-399 TJm
+(gi) 7.75121 Tj
+25 TJm
+(ving) 17.7142 Tj
+-399 TJm
+(the) 12.1748 Tj
+[1 0 0 1 409.67 210.783] cm
+0 g
+0 G
+[1 0 0 1 -409.67 -210.783] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+409.67 210.783 Td
+/F130_0 9.963 Tf
+(-c) 11.9556 Tj
+[1 0 0 1 421.625 210.783] cm
+0 g
+0 G
+[1 0 0 1 -421.625 -210.783] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+425.602 210.783 Td
+/F128_0 9.963 Tf
+(\003ag.) 17.4353 Tj
+-757 TJm
+(Multiple) 34.3225 Tj
+-399 TJm
+(\002les) 16.6083 Tj
+-399 TJm
+(may) 17.1563 Tj
+-399 TJm
+(be) 9.40507 Tj
+72 198.828 Td
+(compressed) 47.0353 Tj
+-367 TJm
+(and) 14.3866 Tj
+-367 TJm
+(dec) 13.8286 Tj
+1 TJm
+(ompressed) 42.6118 Tj
+-367 TJm
+(lik) 10.5209 Tj
+10 TJm
+(e) 4.42357 Tj
+-367 TJm
+(this.) 16.8873 Tj
+-1321 TJm
+(The) 15.4925 Tj
+-367 TJm
+(resulting) 34.8705 Tj
+-367 TJm
+(outputs) 29.341 Tj
+-367 TJm
+(are) 12.1648 Tj
+-367 TJm
+(fed) 12.7228 Tj
+-366 TJm
+(sequentially) 48.1512 Tj
+-367 TJm
+(to) 7.75121 Tj
+-367 TJm
+(stdout.) 26.8503 Tj
+-1321 TJm
+(Compression) 52.5847 Tj
+-367 TJm
+(of) 8.29918 Tj
+72 186.872 Td
+(multiple) 33.2166 Tj
+-289 TJm
+(\002les) 16.6083 Tj
+-289 TJm
+(in) 7.75121 Tj
+-288 TJm
+(this) 14.3965 Tj
+-289 TJm
+(manner) 29.879 Tj
+-289 TJm
+(generates) 37.6203 Tj
+-289 TJm
+(a) 4.42357 Tj
+-289 TJm
+(stre) 14.3866 Tj
+1 TJm
+(am) 12.1748 Tj
+-289 TJm
+(containing) 42.0638 Tj
+-289 TJm
+(multiple) 33.2166 Tj
+-289 TJm
+(compressed) 47.0353 Tj
+-288 TJm
+(\002le) 12.7327 Tj
+-289 TJm
+(representations.) 62.8068 Tj
+-853 TJm
+(Such) 19.926 Tj
+-289 TJm
+(a) 4.42357 Tj
+-289 TJm
+(stream) 26.5614 Tj
+72 174.917 Td
+(can) 13.8286 Tj
+-391 TJm
+(be) 9.40507 Tj
+-391 TJm
+(dec) 13.8286 Tj
+1 TJm
+(ompressed) 42.6118 Tj
+-391 TJm
+(correctly) 35.4085 Tj
+-391 TJm
+(only) 17.7142 Tj
+-391 TJm
+(by) 9.963 Tj
+[1 0 0 1 238.116 174.917] cm
+0 g
+0 G
+[1 0 0 1 -238.116 -174.917] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+238.116 174.917 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 268.004 174.917] cm
+0 g
+0 G
+[1 0 0 1 -268.004 -174.917] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+271.897 174.917 Td
+/F128_0 9.963 Tf
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-391 TJm
+(0.9.0) 19.926 Tj
+-391 TJm
+(o) 4.9815 Tj
+1 TJm
+(r) 3.31768 Tj
+-391 TJm
+(later) 17.7043 Tj
+55 TJm
+(.) 2.49075 Tj
+-733 TJm
+(Earlier) 27.1093 Tj
+-390 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-391 TJm
+(of) 8.29918 Tj
+[1 0 0 1 448.071 174.917] cm
+0 g
+0 G
+[1 0 0 1 -448.071 -174.917] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+448.071 174.917 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 477.959 174.917] cm
+0 g
+0 G
+[1 0 0 1 -477.959 -174.917] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+481.852 174.917 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-391 TJm
+(stop) 16.6083 Tj
+-391 TJm
+(a) 4.42357 Tj
+1 TJm
+(fter) 13.8286 Tj
+72 162.962 Td
+(decompressing) 59.768 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\002rst) 15.5024 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-249 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 72 160.805] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -150.843] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 141.044 Td
+/F130_0 9.963 Tf
+(bzcat) 29.889 Tj
+[1 0 0 1 101.888 141.044] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -141.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.379 141.044 Td
+/F128_0 9.963 Tf
+(\(or) 11.6169 Tj
+[1 0 0 1 118.486 141.044] cm
+0 g
+0 G
+[1 0 0 1 -118.486 -141.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+118.486 141.044 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+-600 TJm
+(-dc) 17.9334 Tj
+[1 0 0 1 172.284 141.044] cm
+0 g
+0 G
+[1 0 0 1 -172.284 -141.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+172.284 141.044 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-250 TJm
+(decompresses) 55.3345 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(speci\002e) 30.437 Tj
+1 TJm
+(d) 4.9815 Tj
+-250 TJm
+(\002les) 16.6083 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(standard) 33.7546 Tj
+-250 TJm
+(output.) 27.9562 Tj
+[1 0 0 1 72 138.887] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -128.925] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 119.126 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 119.126] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -119.126] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.866 119.126 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-299 TJm
+(read) 17.1463 Tj
+-299 TJm
+(ar) 7.74125 Tj
+18 TJm
+(gument) 29.889 Tj
+1 TJm
+(s) 3.87561 Tj
+-299 TJm
+(from) 19.3681 Tj
+-299 TJm
+(the) 12.1748 Tj
+-299 TJm
+(en) 9.40507 Tj
+40 TJm
+(vironment) 40.9579 Tj
+-299 TJm
+(v) 4.9815 Tj
+25 TJm
+(ariables) 30.9849 Tj
+[1 0 0 1 316.903 119.126] cm
+0 g
+0 G
+[1 0 0 1 -316.903 -119.126] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+316.903 119.126 Td
+/F130_0 9.963 Tf
+(BZIP2) 29.889 Tj
+[1 0 0 1 346.791 119.126] cm
+0 g
+0 G
+[1 0 0 1 -346.791 -119.126] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+349.769 119.126 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 367.133 119.126] cm
+0 g
+0 G
+[1 0 0 1 -367.133 -119.126] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+367.133 119.126 Td
+/F130_0 9.963 Tf
+(BZIP) 23.9112 Tj
+[1 0 0 1 391.043 119.126] cm
+0 g
+0 G
+[1 0 0 1 -391.043 -119.126] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+391.043 119.126 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-299 TJm
+(in) 7.75121 Tj
+-299 TJm
+(that) 14.9445 Tj
+-299 TJm
+(order) 21.0219 Tj
+40 TJm
+(,) 2.49075 Tj
+-311 TJm
+(and) 14.3866 Tj
+-299 TJm
+(wil) 12.7327 Tj
+1 TJm
+(l) 2.76971 Tj
+-299 TJm
+(process) 29.879 Tj
+-299 TJm
+(them) 19.926 Tj
+72 107.171 Td
+(before) 25.4455 Tj
+-250 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-250 TJm
+(ar) 7.74125 Tj
+18 TJm
+(guments) 33.7646 Tj
+-250 TJm
+(read) 17.1463 Tj
+-250 TJm
+(from) 19.3681 Tj
+-249 TJm
+(the) 12.1748 Tj
+-250 TJm
+(command) 39.2941 Tj
+-250 TJm
+(line.) 17.4353 Tj
+-310 TJm
+(This) 17.7142 Tj
+-250 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(con) 14.3866 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(enient) 24.3496 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ay) 9.40507 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(supply) 26.5713 Tj
+-250 TJm
+(d) 4.9815 Tj
+1 TJm
+(ef) 7.74125 Tj
+10 TJm
+(ault) 14.9445 Tj
+-250 TJm
+(ar) 7.74125 Tj
+18 TJm
+(guments.) 36.2554 Tj
+[1 0 0 1 72 105.014] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -95.052] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 85.253 Td
+/F128_0 9.963 Tf
+(Compression) 52.5847 Tj
+-294 TJm
+(is) 6.64532 Tj
+-294 TJm
+(al) 7.19329 Tj
+10 TJm
+(w) 7.19329 Tj
+10 TJm
+(ays) 13.2807 Tj
+-293 TJm
+(performed,) 43.9866 Tj
+-305 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-294 TJm
+(if) 6.08739 Tj
+-294 TJm
+(the) 12.1748 Tj
+-294 TJm
+(compressed) 47.0353 Tj
+-294 TJm
+(\002le) 12.7327 Tj
+-294 TJm
+(i) 2.76971 Tj
+1 TJm
+(s) 3.87561 Tj
+-294 TJm
+(slightly) 29.899 Tj
+-294 TJm
+(lar) 10.511 Tj
+18 TJm
+(ger) 12.7228 Tj
+-294 TJm
+(than) 17.1563 Tj
+-294 TJm
+(the) 12.1748 Tj
+-294 TJm
+(original.) 33.4856 Tj
+-883 TJm
+(Files) 19.378 Tj
+-294 TJm
+(of) 8.29918 Tj
+-294 TJm
+(less) 14.9445 Tj
+-294 TJm
+(than) 17.1563 Tj
+72 73.298 Td
+(about) 22.1378 Tj
+-246 TJm
+(one) 14.3866 Tj
+-245 TJm
+(hundred) 32.6488 Tj
+-246 TJm
+(bytes) 21.0319 Tj
+-246 TJm
+(tend) 17.1563 Tj
+-245 TJm
+(to) 7.75121 Tj
+-246 TJm
+(get) 12.1748 Tj
+-246 TJm
+(lar) 10.511 Tj
+18 TJm
+(ger) 12.7228 Tj
+40 TJm
+(,) 2.49075 Tj
+-246 TJm
+(since) 20.474 Tj
+-246 TJm
+(the) 12.1748 Tj
+-246 TJm
+(compression) 50.363 Tj
+-245 TJm
+(mechanism) 45.3815 Tj
+-246 TJm
+(has) 13.2807 Tj
+-246 TJm
+(a) 4.42357 Tj
+-246 TJm
+(c) 4.42357 Tj
+1 TJm
+(onstant) 28.7831 Tj
+-246 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(erhead) 26.5514 Tj
+-246 TJm
+(in) 7.75121 Tj
+-246 TJm
+(th) 7.75121 Tj
+1 TJm
+(e) 4.42357 Tj
+-246 TJm
+(re) 7.74125 Tj
+15 TJm
+(gion) 17.7142 Tj
+-246 TJm
+(of) 8.29918 Tj
+[1 0 0 1 72 50.852] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.063 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -496.332 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+539.395 50.951 Td
+/F128_0 9.963 Tf
+(3) 4.9815 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 7 7
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 105.519 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -371.59 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.109 749.245 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(50) 9.963 Tj
+-264 TJm
+(bytes.) 23.5226 Tj
+-351 TJm
+(Random) 33.7646 Tj
+-263 TJm
+(data) 16.5984 Tj
+-264 TJm
+(\(including) 40.9579 Tj
+-263 TJm
+(the) 12.1748 Tj
+-264 TJm
+(output) 25.4654 Tj
+-264 TJm
+(of) 8.29918 Tj
+-263 TJm
+(most) 19.378 Tj
+-264 TJm
+(\002le) 12.7327 Tj
+-263 TJm
+(compressors\)) 53.1227 Tj
+-264 TJm
+(is) 6.64532 Tj
+-264 TJm
+(coded) 23.7916 Tj
+-263 TJm
+(at) 7.19329 Tj
+-264 TJm
+(about) 22.1378 Tj
+-263 TJm
+(8.05) 17.4353 Tj
+-264 TJm
+(bits) 14.3965 Tj
+-264 TJm
+(per) 12.7228 Tj
+-263 TJm
+(byte,) 19.647 Tj
+-267 TJm
+(gi) 7.75121 Tj
+25 TJm
+(ving) 17.7142 Tj
+-264 TJm
+(an) 9.40507 Tj
+72 698.082 Td
+(e) 4.42357 Tj
+15 TJm
+(xpansion) 35.9764 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(around) 27.6673 Tj
+-250 TJm
+(0.5%.) 23.2437 Tj
+[1 0 0 1 72 695.925] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+[1 0 0 1 -72 -686.081] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 676.283 Td
+/F128_0 9.963 Tf
+(As) 11.0689 Tj
+-268 TJm
+(a) 4.42357 Tj
+-268 TJm
+(self-check) 40.938 Tj
+-268 TJm
+(for) 11.6169 Tj
+-269 TJm
+(yo) 9.963 Tj
+1 TJm
+(ur) 8.29918 Tj
+-269 TJm
+(protection) 40.4 Tj
+1 TJm
+(,) 2.49075 Tj
+[1 0 0 1 217.273 676.283] cm
+0 g
+0 G
+[1 0 0 1 -217.273 -676.283] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+217.273 676.283 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 247.161 676.283] cm
+0 g
+0 G
+[1 0 0 1 -247.161 -676.283] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+249.833 676.283 Td
+/F128_0 9.963 Tf
+(uses) 17.1563 Tj
+-268 TJm
+(32-bit) 23.8016 Tj
+-268 TJm
+(CRCs) 23.8116 Tj
+-268 TJm
+(to) 7.75121 Tj
+-268 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-269 TJm
+(sure) 16.5984 Tj
+-268 TJm
+(that) 14.9445 Tj
+-268 TJm
+(the) 12.1748 Tj
+-268 TJm
+(decompressed) 56.4404 Tj
+-268 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-268 TJm
+(of) 8.29918 Tj
+-268 TJm
+(a) 4.42357 Tj
+-268 TJm
+(\002le) 12.7327 Tj
+-269 TJm
+(is) 6.64532 Tj
+72 664.328 Td
+(identical) 34.3126 Tj
+-199 TJm
+(to) 7.75121 Tj
+-200 TJm
+(the) 12.1748 Tj
+-199 TJm
+(original.) 33.4856 Tj
+-587 TJm
+(This) 17.7142 Tj
+-199 TJm
+(guards) 26.5614 Tj
+-200 TJm
+(ag) 9.40507 Tj
+5 TJm
+(ainst) 18.8201 Tj
+-199 TJm
+(corruption) 41.5059 Tj
+-200 TJm
+(of) 8.29918 Tj
+-199 TJm
+(the) 12.1748 Tj
+-200 TJm
+(compre) 29.879 Tj
+1 TJm
+(ssed) 17.1563 Tj
+-200 TJm
+(data,) 19.0891 Tj
+-210 TJm
+(and) 14.3866 Tj
+-199 TJm
+(ag) 9.40507 Tj
+5 TJm
+(ainst) 18.8201 Tj
+-200 TJm
+(unde) 19.3681 Tj
+1 TJm
+(tected) 23.7916 Tj
+-200 TJm
+(b) 4.9815 Tj
+20 TJm
+(ugs) 13.8386 Tj
+-199 TJm
+(in) 7.75121 Tj
+[1 0 0 1 510.112 664.328] cm
+0 g
+0 G
+[1 0 0 1 -510.112 -664.328] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+510.112 664.328 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 540 664.328] cm
+0 g
+0 G
+[1 0 0 1 -540 -664.328] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 652.373 Td
+/F128_0 9.963 Tf
+(\(hopefully) 41.5059 Tj
+-275 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+1 TJm
+(ry) 8.29918 Tj
+-275 TJm
+(unlik) 20.4839 Tj
+10 TJm
+(ely\).) 17.9832 Tj
+-384 TJm
+(The) 15.4925 Tj
+-275 TJm
+(chances) 31.5329 Tj
+-274 TJm
+(of) 8.29918 Tj
+-275 TJm
+(data) 16.5984 Tj
+-275 TJm
+(corr) 16.0404 Tj
+1 TJm
+(uption) 25.4654 Tj
+-275 TJm
+(going) 22.6957 Tj
+-275 TJm
+(undetected) 43.1597 Tj
+-274 TJm
+(is) 6.64532 Tj
+-275 TJm
+(microscopic,) 51.1899 Tj
+-280 TJm
+(about) 22.1378 Tj
+-275 TJm
+(one) 14.3866 Tj
+-275 TJm
+(chance) 27.6573 Tj
+-274 TJm
+(in) 7.75121 Tj
+-275 TJm
+(four) 16.5984 Tj
+72 640.417 Td
+(billion) 26.0234 Tj
+-279 TJm
+(for) 11.6169 Tj
+-279 TJm
+(each) 18.2522 Tj
+-279 TJm
+(\002le) 12.7327 Tj
+-279 TJm
+(processed.) 41.7749 Tj
+-795 TJm
+(Be) 11.0689 Tj
+-279 TJm
+(a) 4.42357 Tj
+15 TJm
+(w) 7.19329 Tj
+10 TJm
+(are,) 14.6556 Tj
+-287 TJm
+(thou) 17.7142 Tj
+1 TJm
+(gh,) 12.4538 Tj
+-287 TJm
+(that) 14.9445 Tj
+-279 TJm
+(the) 12.1748 Tj
+-279 TJm
+(check) 23.2337 Tj
+-279 TJm
+(occurs) 26.0034 Tj
+-279 TJm
+(upon) 19.926 Tj
+-279 TJm
+(decompression,) 62.2588 Tj
+-286 TJm
+(so) 8.85711 Tj
+-280 TJm
+(it) 5.53943 Tj
+-279 TJm
+(can) 13.8286 Tj
+-279 TJm
+(only) 17.7142 Tj
+-279 TJm
+(tell) 12.7327 Tj
+-279 TJm
+(you) 14.9445 Tj
+72 628.462 Td
+(that) 14.9445 Tj
+-237 TJm
+(something) 41.5158 Tj
+-236 TJm
+(is) 6.64532 Tj
+-237 TJm
+(wrong.) 27.9462 Tj
+-611 TJm
+(It) 6.08739 Tj
+-237 TJm
+(can') 17.1463 Tj
+18 TJm
+(t) 2.76971 Tj
+-236 TJm
+(help) 17.1563 Tj
+-237 TJm
+(you) 14.9445 Tj
+-237 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-236 TJm
+(the) 12.1748 Tj
+-237 TJm
+(original) 30.9949 Tj
+-237 TJm
+(uncompressed) 56.9983 Tj
+-236 TJm
+(data.) 19.0891 Tj
+-611 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-237 TJm
+(can) 13.8286 Tj
+-237 TJm
+(use) 13.2807 Tj
+[1 0 0 1 458.159 628.462] cm
+0 g
+0 G
+[1 0 0 1 -458.159 -628.462] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+458.159 628.462 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 529.89 628.462] cm
+0 g
+0 G
+[1 0 0 1 -529.89 -628.462] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+532.249 628.462 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+72 616.507 Td
+(try) 11.0689 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(from) 19.3681 Tj
+-250 TJm
+(damag) 26.5614 Tj
+1 TJm
+(ed) 9.40507 Tj
+-250 TJm
+(\002les.) 19.0991 Tj
+[1 0 0 1 72 614.35] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+[1 0 0 1 -72 -604.506] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 594.708 Td
+/F128_0 9.963 Tf
+(Return) 27.1193 Tj
+-298 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+-406 TJm
+(0) 4.9815 Tj
+-298 TJm
+(f) 3.31768 Tj
+1 TJm
+(or) 8.29918 Tj
+-298 TJm
+(a) 4.42357 Tj
+-298 TJm
+(normal) 28.2252 Tj
+-298 TJm
+(e) 4.42357 Tj
+15 TJm
+(xit,) 13.0117 Tj
+-310 TJm
+(1) 4.9815 Tj
+-298 TJm
+(for) 11.6169 Tj
+-298 TJm
+(en) 9.40507 Tj
+40 TJm
+(vironmental) 48.1512 Tj
+-298 TJm
+(p) 4.9815 Tj
+1 TJm
+(roblems) 32.1008 Tj
+-298 TJm
+(\(\002le) 16.0504 Tj
+-298 TJm
+(not) 12.7327 Tj
+-298 TJm
+(found,) 25.7344 Tj
+-310 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+25 TJm
+(alid) 14.9445 Tj
+-298 TJm
+(\003ags,) 21.3109 Tj
+-310 TJm
+(I/O) 13.2807 Tj
+-297 TJm
+(errors,) 25.7245 Tj
+-310 TJm
+(etc.\),) 19.916 Tj
+-310 TJm
+(2) 4.9815 Tj
+-298 TJm
+(to) 7.75121 Tj
+72 582.753 Td
+(indicate) 31.5429 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(corrupt) 28.7731 Tj
+-250 TJm
+(compresse) 42.0538 Tj
+1 TJm
+(d) 4.9815 Tj
+-250 TJm
+(\002le,) 15.2235 Tj
+-250 TJm
+(3) 4.9815 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(an) 9.40507 Tj
+-250 TJm
+(internal) 30.437 Tj
+-250 TJm
+(consistenc) 41.5059 Tj
+15 TJm
+(y) 4.9815 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(\(e) 7.74125 Tj
+15 TJm
+(g,) 7.47225 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug\)) 13.2807 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(ca) 8.84714 Tj
+1 TJm
+(used) 18.2622 Tj
+[1 0 0 1 443.065 582.753] cm
+0 g
+0 G
+[1 0 0 1 -443.065 -582.753] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+443.065 582.753 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 472.953 582.753] cm
+0 g
+0 G
+[1 0 0 1 -472.953 -582.753] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+475.444 582.753 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(panic.) 24.0706 Tj
+[1 0 0 1 72 580.596] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -570.752] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 548.118 Td
+/F121_0 20.659 Tf
+(2.4.) 34.4592 Tj
+-278 TJm
+(OPTIONS) 92.9862 Tj
+[1 0 0 1 72 547.86] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -528.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 516.475 Td
+/F130_0 9.963 Tf
+(-c) 11.9556 Tj
+-600 TJm
+(--stdout) 47.8224 Tj
+[1 0 0 1 137.753 516.475] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -68.244 -0.209] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -516.266] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 504.52 Td
+/F128_0 9.963 Tf
+(Compress) 39.852 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(decompress) 47.0353 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(s) 3.87561 Tj
+1 TJm
+(tandard) 29.879 Tj
+-250 TJm
+(output.) 27.9562 Tj
+[1 0 0 1 72 502.363] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.866] cm
+0 g
+0 G
+[1 0 0 1 0 -9.845] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -488.652] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 478.854 Td
+/F130_0 9.963 Tf
+(-d) 11.9556 Tj
+-600 TJm
+(--decompress) 71.7336 Tj
+[1 0 0 1 161.664 478.854] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -92.154 -1.564] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -477.29] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 466.899 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(orce) 17.1463 Tj
+-296 TJm
+(decompression.) 62.2588 Tj
+[1 0 0 1 200.214 466.899] cm
+0 g
+0 G
+[1 0 0 1 -200.214 -466.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+200.214 466.899 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 230.102 466.899] cm
+0 g
+0 G
+[1 0 0 1 -230.102 -466.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+230.102 466.899 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 235.659 466.899] cm
+0 g
+0 G
+[1 0 0 1 -235.659 -466.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+235.659 466.899 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 277.502 466.899] cm
+0 g
+0 G
+[1 0 0 1 -277.502 -466.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+280.454 466.899 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 297.791 466.899] cm
+0 g
+0 G
+[1 0 0 1 -297.791 -466.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+297.791 466.899 Td
+/F130_0 9.963 Tf
+(bzcat) 29.889 Tj
+[1 0 0 1 327.679 466.899] cm
+0 g
+0 G
+[1 0 0 1 -327.679 -466.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+330.631 466.899 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+-296 TJm
+(really) 22.6858 Tj
+-296 TJm
+(the) 12.1748 Tj
+-296 TJm
+(same) 20.474 Tj
+-297 TJm
+(program) 33.7546 Tj
+1 TJm
+(,) 2.49075 Tj
+-308 TJm
+(and) 14.3866 Tj
+-297 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-297 TJm
+(decision) 33.2067 Tj
+-296 TJm
+(about) 22.1378 Tj
+108 454.944 Td
+(what) 19.3681 Tj
+-303 TJm
+(actions) 28.2252 Tj
+-303 TJm
+(to) 7.75121 Tj
+-303 TJm
+(tak) 12.1748 Tj
+10 TJm
+(e) 4.42357 Tj
+-303 TJm
+(is) 6.64532 Tj
+-303 TJm
+(done) 19.3681 Tj
+-303 TJm
+(on) 9.963 Tj
+-303 TJm
+(the) 12.1748 Tj
+-303 TJm
+(basis) 19.926 Tj
+-303 TJm
+(of) 8.29918 Tj
+-303 TJm
+(which) 24.3496 Tj
+-303 TJm
+(name) 21.5799 Tj
+-303 TJm
+(is) 6.64532 Tj
+-303 TJm
+(used.) 20.7529 Tj
+-939 TJm
+(T) 6.08739 Tj
+1 TJm
+(his) 11.6268 Tj
+-304 TJm
+(\003) 5.53943 Tj
+1 TJm
+(ag) 9.40507 Tj
+-304 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+1 TJm
+(rrides) 22.6858 Tj
+-303 TJm
+(that) 14.9445 Tj
+-303 TJm
+(mechanism,) 47.8722 Tj
+-317 TJm
+(and) 14.3866 Tj
+108 442.989 Td
+(forces) 24.3396 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(decompress.) 49.5261 Tj
+[1 0 0 1 72 440.832] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.867] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -427.121] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 417.323 Td
+/F130_0 9.963 Tf
+(-z) 11.9556 Tj
+-600 TJm
+(--compress) 59.778 Tj
+[1 0 0 1 149.709 417.323] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -80.199 -1.564] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -415.759] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 405.368 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-250 TJm
+(complement) 49.2571 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 187.969 405.368] cm
+0 g
+0 G
+[1 0 0 1 -187.969 -405.368] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+187.969 405.368 Td
+/F130_0 9.963 Tf
+(-d) 11.9556 Tj
+[1 0 0 1 199.924 405.368] cm
+0 g
+0 G
+[1 0 0 1 -199.924 -405.368] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+199.924 405.368 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+-310 TJm
+(forces) 24.3396 Tj
+-250 TJm
+(compression,) 52.8537 Tj
+-250 TJm
+(re) 7.74125 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(ardles) 23.7916 Tj
+1 TJm
+(s) 3.87561 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+20 TJm
+(okation) 29.889 Tj
+-250 TJm
+(name.) 24.0706 Tj
+[1 0 0 1 72 403.211] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.867] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -389.5] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 379.702 Td
+/F130_0 9.963 Tf
+(-t) 11.9556 Tj
+-600 TJm
+(--test) 35.8668 Tj
+[1 0 0 1 125.798 379.702] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -56.289 -0.209] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -379.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 367.747 Td
+/F128_0 9.963 Tf
+(Check) 25.4555 Tj
+-270 TJm
+(inte) 14.9445 Tj
+15 TJm
+(grity) 18.8201 Tj
+-271 TJm
+(of) 8.29918 Tj
+-270 TJm
+(the) 12.1748 Tj
+-270 TJm
+(speci\002ed) 35.4185 Tj
+-271 TJm
+(\002) 5.53943 Tj
+1 TJm
+(le\(s\),) 20.195 Tj
+-276 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-270 TJm
+(don') 18.2622 Tj
+18 TJm
+(t) 2.76971 Tj
+-271 TJm
+(decom) 26.5614 Tj
+1 TJm
+(press) 20.474 Tj
+-271 TJm
+(them.) 22.4168 Tj
+-742 TJm
+(This) 17.7142 Tj
+-270 TJm
+(really) 22.6858 Tj
+-271 TJm
+(performs) 35.9664 Tj
+-270 TJm
+(a) 4.42357 Tj
+-270 TJm
+(trial) 16.0504 Tj
+-271 TJm
+(decompres-) 46.4774 Tj
+108 355.792 Td
+(sion) 16.6083 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(thro) 16.0504 Tj
+25 TJm
+(ws) 11.0689 Tj
+-250 TJm
+(a) 4.42357 Tj
+15 TJm
+(w) 7.19329 Tj
+10 TJm
+(ay) 9.40507 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(resul) 19.3681 Tj
+1 TJm
+(t.) 5.26046 Tj
+[1 0 0 1 72 353.635] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.867] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -339.924] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 330.126 Td
+/F130_0 9.963 Tf
+(-f) 11.9556 Tj
+-600 TJm
+(--force) 41.8446 Tj
+[1 0 0 1 131.776 330.126] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -62.266 -0.209] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -329.917] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 318.171 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(orce) 17.1463 Tj
+-338 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(erwrite) 28.2152 Tj
+-338 TJm
+(of) 8.29918 Tj
+-339 TJm
+(output) 25.4654 Tj
+-338 TJm
+(\002les.) 19.0991 Tj
+-1149 TJm
+(Normally) 38.1882 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 289.831 318.171] cm
+0 g
+0 G
+[1 0 0 1 -289.831 -318.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+289.831 318.171 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 319.719 318.171] cm
+0 g
+0 G
+[1 0 0 1 -319.719 -318.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+323.089 318.171 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-338 TJm
+(not) 12.7327 Tj
+-338 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(erwrite) 28.2152 Tj
+-339 TJm
+(e) 4.42357 Tj
+15 TJm
+(xisti) 17.1662 Tj
+1 TJm
+(ng) 9.963 Tj
+-339 TJm
+(output) 25.4654 Tj
+-338 TJm
+(\002les.) 19.0991 Tj
+-1150 TJm
+(Also) 18.8201 Tj
+-338 TJm
+(forces) 24.3396 Tj
+[1 0 0 1 108 306.216] cm
+0 g
+0 G
+[1 0 0 1 -108 -306.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 306.216 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 137.888 306.216] cm
+0 g
+0 G
+[1 0 0 1 -137.888 -306.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+140.379 306.216 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(break) 22.1278 Tj
+-250 TJm
+(hard) 17.7043 Tj
+-250 TJm
+(links) 19.378 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(\002les) 16.6083 Tj
+1 TJm
+(,) 2.49075 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(otherwise) 38.7361 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ouldn') 26.0134 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(do.) 12.4538 Tj
+[1 0 0 1 72 304.652] cm
+0 g
+0 G
+[1 0 0 1 0 -9.845] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -294.807] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 284.416 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 137.888 284.416] cm
+0 g
+0 G
+[1 0 0 1 -137.888 -284.416] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+141.211 284.416 Td
+/F128_0 9.963 Tf
+(normally) 35.9764 Tj
+-333 TJm
+(declines) 32.6488 Tj
+-334 TJm
+(to) 7.75121 Tj
+-333 TJm
+(decompress) 47.0353 Tj
+-334 TJm
+(\002les) 16.6083 Tj
+-333 TJm
+(which) 24.3496 Tj
+-333 TJm
+(don') 18.2622 Tj
+18 TJm
+(t) 2.76971 Tj
+-334 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-333 TJm
+(the) 12.1748 Tj
+-334 TJm
+(correct) 27.6573 Tj
+-333 TJm
+(magic) 24.3496 Tj
+-334 TJm
+(header) 26.5514 Tj
+-333 TJm
+(bytes.) 23.5226 Tj
+-561 TJm
+(If) 6.63536 Tj
+-333 TJm
+(forced) 25.4455 Tj
+108 272.461 Td
+(\() 3.31768 Tj
+[1 0 0 1 111.317 272.461] cm
+0 g
+0 G
+[1 0 0 1 -111.317 -272.461] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+111.317 272.461 Td
+/F130_0 9.963 Tf
+(-f) 11.9556 Tj
+[1 0 0 1 123.273 272.461] cm
+0 g
+0 G
+[1 0 0 1 -123.273 -272.461] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+123.273 272.461 Td
+/F128_0 9.963 Tf
+(\),) 5.80843 Tj
+-250 TJm
+(ho) 9.963 Tj
+25 TJm
+(we) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+40 TJm
+(,) 2.49075 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(will) 15.5024 Tj
+-250 TJm
+(pass) 17.1563 Tj
+-250 TJm
+(such) 18.2622 Tj
+-249 TJm
+(\002les) 16.6083 Tj
+-250 TJm
+(through) 30.9949 Tj
+-250 TJm
+(unmodi\002ed.) 47.8822 Tj
+-310 TJm
+(This) 17.7142 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(GNU) 21.5799 Tj
+[1 0 0 1 412.585 272.461] cm
+0 g
+0 G
+[1 0 0 1 -412.585 -272.461] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+412.585 272.461 Td
+/F130_0 9.963 Tf
+(gzip) 23.9112 Tj
+[1 0 0 1 436.496 272.461] cm
+0 g
+0 G
+[1 0 0 1 -436.496 -272.461] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+438.986 272.461 Td
+/F128_0 9.963 Tf
+(beha) 18.8101 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(es.) 10.7899 Tj
+[1 0 0 1 72 270.304] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.866] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -256.594] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 246.795 Td
+/F130_0 9.963 Tf
+(-k) 11.9556 Tj
+-600 TJm
+(--keep) 35.8668 Tj
+[1 0 0 1 125.798 246.795] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -56.289 -1.564] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -245.231] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 234.84 Td
+/F128_0 9.963 Tf
+(K) 7.19329 Tj
+25 TJm
+(eep) 13.8286 Tj
+-250 TJm
+(\(don') 21.5799 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(delete\)) 27.1093 Tj
+-250 TJm
+(input) 20.4839 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+1 TJm
+(s) 3.87561 Tj
+-250 TJm
+(during) 26.0134 Tj
+-250 TJm
+(compression) 50.363 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(decompression.) 62.2588 Tj
+[1 0 0 1 72 232.683] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.866] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -218.973] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 209.175 Td
+/F130_0 9.963 Tf
+(-s) 11.9556 Tj
+-600 TJm
+(--small) 41.8446 Tj
+[1 0 0 1 131.776 209.175] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -62.266 -0.21] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -208.965] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 197.219 Td
+/F128_0 9.963 Tf
+(Reduce) 29.879 Tj
+-347 TJm
+(memory) 33.2067 Tj
+-346 TJm
+(usage,) 25.1765 Tj
+-371 TJm
+(for) 11.6169 Tj
+-347 TJm
+(compression,) 52.8537 Tj
+-371 TJm
+(decompression) 59.768 Tj
+-346 TJm
+(and) 14.3866 Tj
+-347 TJm
+(testing.) 29.0621 Tj
+-1201 TJm
+(Files) 19.378 Tj
+-347 TJm
+(are) 12.1648 Tj
+-346 TJm
+(decompressed) 56.4404 Tj
+-347 TJm
+(and) 14.3866 Tj
+-347 TJm
+(tested) 23.2437 Tj
+108 185.264 Td
+(using) 21.5898 Tj
+-388 TJm
+(a) 4.42357 Tj
+-388 TJm
+(modi\002ed) 35.4284 Tj
+-388 TJm
+(algorithm) 38.7461 Tj
+-388 TJm
+(which) 24.3496 Tj
+-388 TJm
+(only) 17.7142 Tj
+-388 TJm
+(requires) 32.0908 Tj
+-388 TJm
+(2.5) 12.4538 Tj
+-388 TJm
+(bytes) 21.0319 Tj
+-388 TJm
+(per) 12.7228 Tj
+-388 TJm
+(block) 22.1378 Tj
+-388 TJm
+(byte.) 19.647 Tj
+-1449 TJm
+(This) 17.7142 Tj
+-388 TJm
+(means) 25.4555 Tj
+-388 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-388 TJm
+(\002le) 12.7327 Tj
+-388 TJm
+(can) 13.8286 Tj
+-389 TJm
+(be) 9.40507 Tj
+108 173.309 Td
+(decompressed) 56.4404 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(2300k) 24.9075 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(mem) 19.926 Tj
+1 TJm
+(ory) 13.2807 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(albeit) 22.1378 Tj
+-250 TJm
+(at) 7.19329 Tj
+-250 TJm
+(about) 22.1378 Tj
+-250 TJm
+(half) 15.4925 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(normal) 28.2252 Tj
+-250 TJm
+(speed.) 25.1765 Tj
+[1 0 0 1 72 171.152] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+[1 0 0 1 -72 -161.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 151.51 Td
+/F128_0 9.963 Tf
+(During) 28.2252 Tj
+-251 TJm
+(compression,) 52.8537 Tj
+[1 0 0 1 194.09 151.51] cm
+0 g
+0 G
+[1 0 0 1 -194.09 -151.51] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+194.09 151.51 Td
+/F130_0 9.963 Tf
+(-s) 11.9556 Tj
+[1 0 0 1 206.046 151.51] cm
+0 g
+0 G
+[1 0 0 1 -206.046 -151.51] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+208.551 151.51 Td
+/F128_0 9.963 Tf
+(selects) 26.5614 Tj
+-251 TJm
+(a) 4.42357 Tj
+-252 TJm
+(block) 22.1378 Tj
+-251 TJm
+(size) 15.4925 Tj
+-252 TJm
+(of) 8.29918 Tj
+-251 TJm
+(200k,) 22.4168 Tj
+-252 TJm
+(which) 24.3496 Tj
+-251 TJm
+(limits) 22.7057 Tj
+-252 TJm
+(memory) 33.2067 Tj
+-251 TJm
+(use) 13.2807 Tj
+-252 TJm
+(to) 7.75121 Tj
+-251 TJm
+(around) 27.6673 Tj
+-251 TJm
+(the) 12.1748 Tj
+-252 TJm
+(same) 20.474 Tj
+-251 TJm
+(\002gure,) 25.7344 Tj
+-252 TJm
+(at) 7.19329 Tj
+108 139.555 Td
+(the) 12.1748 Tj
+-287 TJm
+(e) 4.42357 Tj
+15 TJm
+(xpense) 27.6673 Tj
+-287 TJm
+(of) 8.29918 Tj
+-287 TJm
+(your) 18.2622 Tj
+-287 TJm
+(compression) 50.363 Tj
+-287 TJm
+(ratio.) 20.7529 Tj
+-843 TJm
+(In) 8.29918 Tj
+-287 TJm
+(short,) 22.4168 Tj
+-297 TJm
+(if) 6.08739 Tj
+-287 TJm
+(your) 18.2622 Tj
+-287 TJm
+(machine) 33.7546 Tj
+-287 TJm
+(is) 6.64532 Tj
+-287 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w) 7.19329 Tj
+-287 TJm
+(on) 9.963 Tj
+-287 TJm
+(memory) 33.2067 Tj
+-287 TJm
+(\(8) 8.29918 Tj
+-288 TJm
+(m) 7.75121 Tj
+1 TJm
+(e) 4.42357 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(abytes) 25.4555 Tj
+-288 TJm
+(or) 8.29918 Tj
+-287 TJm
+(less\),) 20.7529 Tj
+108 127.599 Td
+(use) 13.2807 Tj
+[1 0 0 1 123.771 127.599] cm
+0 g
+0 G
+[1 0 0 1 -123.771 -127.599] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+123.771 127.599 Td
+/F130_0 9.963 Tf
+(-s) 11.9556 Tj
+[1 0 0 1 135.726 127.599] cm
+0 g
+0 G
+[1 0 0 1 -135.726 -127.599] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+138.217 127.599 Td
+/F128_0 9.963 Tf
+(for) 11.6169 Tj
+-250 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(erything.) 35.6974 Tj
+-620 TJm
+(See) 14.3866 Tj
+[1 0 0 1 220.079 127.599] cm
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -220.079 -127.599] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+220.079 127.599 Td
+/F128_0 9.963 Tf
+(MEMOR) 37.6402 Tj
+65 TJm
+(Y) 7.19329 Tj
+-250 TJm
+(MAN) 23.2437 Tj
+35 TJm
+(A) 7.19329 Tj
+40 TJm
+(GEMENT) 41.5059 Tj
+[1 0 0 1 337.946 127.599] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -337.946 -127.599] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+340.437 127.599 Td
+/F128_0 9.963 Tf
+([5]) 11.6169 Tj
+[1 0 0 1 352.053 127.599] cm
+0 0 1 rg
+0 0 1 RG
+0 g
+0 G
+[1 0 0 1 -352.053 -127.599] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+354.544 127.599 Td
+/F128_0 9.963 Tf
+(belo) 17.1563 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 125.443] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.867] cm
+0 g
+0 G
+[1 0 0 1 0 -9.844] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -111.732] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 101.934 Td
+/F130_0 9.963 Tf
+(-q) 11.9556 Tj
+-600 TJm
+(--quiet) 41.8446 Tj
+[1 0 0 1 131.776 101.934] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -62.266 -1.564] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -100.37] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 89.979 Td
+/F128_0 9.963 Tf
+(Suppress) 35.9764 Tj
+-221 TJm
+(non-) 18.2622 Tj
+1 TJm
+(essential) 34.3126 Tj
+-221 TJm
+(w) 7.19329 Tj
+10 TJm
+(arning) 25.4555 Tj
+-221 TJm
+(mess) 19.926 Tj
+1 TJm
+(ages.) 20.195 Tj
+-301 TJm
+(Messa) 25.4555 Tj
+1 TJm
+(ges) 13.2807 Tj
+-221 TJm
+(pertaining) 40.4 Tj
+-221 TJm
+(to) 7.75121 Tj
+-220 TJm
+(I/O) 13.2807 Tj
+-221 TJm
+(errors) 23.2337 Tj
+-221 TJm
+(and) 14.3866 Tj
+-220 TJm
+(other) 20.474 Tj
+-221 TJm
+(critical) 27.6673 Tj
+-220 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ents) 16.0504 Tj
+-221 TJm
+(will) 15.5024 Tj
+-221 TJm
+(not) 12.7327 Tj
+108 78.023 Td
+(be) 9.40507 Tj
+-250 TJm
+(suppressed.) 46.2084 Tj
+[1 0 0 1 72 75.867] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.867] cm
+0 g
+0 G
+[1 0 0 1 0 -21.148] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.063 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -496.332 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+539.395 50.852 Td
+/F128_0 9.963 Tf
+(4) 4.9815 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 8 8
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 105.519 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -371.59 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.109 749.245 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F130_0 9.963 Tf
+(-v) 11.9556 Tj
+-600 TJm
+(--verbose) 53.8002 Tj
+[1 0 0 1 143.731 710.037] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -74.222 -0.209] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -709.828] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 698.082 Td
+/F128_0 9.963 Tf
+(V) 7.19329 Tj
+111 TJm
+(erbose) 26.0034 Tj
+-322 TJm
+(mode) 22.1378 Tj
+-323 TJm
+(--) 6.63536 Tj
+-323 TJm
+(sho) 13.8386 Tj
+25 TJm
+(w) 7.19329 Tj
+-322 TJm
+(the) 12.1748 Tj
+-323 TJm
+(compres) 33.7546 Tj
+1 TJm
+(sion) 16.6083 Tj
+-323 TJm
+(ratio) 18.2622 Tj
+-323 TJm
+(for) 11.6169 Tj
+-322 TJm
+(each) 18.2522 Tj
+-323 TJm
+(\002le) 12.7327 Tj
+-322 TJm
+(processed.) 41.7749 Tj
+-1056 TJm
+(Further) 29.3311 Tj
+[1 0 0 1 430.015 698.082] cm
+0 g
+0 G
+[1 0 0 1 -430.015 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+430.015 698.082 Td
+/F130_0 9.963 Tf
+(-v) 11.9556 Tj
+[1 0 0 1 441.97 698.082] cm
+0 g
+0 G
+[1 0 0 1 -441.97 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+441.97 698.082 Td
+/F128_0 9.963 Tf
+(') 3.31768 Tj
+55 TJm
+(s) 3.87561 Tj
+-323 TJm
+(incre) 19.916 Tj
+1 TJm
+(ase) 12.7228 Tj
+-323 TJm
+(the) 12.1748 Tj
+-323 TJm
+(v) 4.9815 Tj
+15 TJm
+(erbos) 21.5799 Tj
+1 TJm
+(ity) 10.5209 Tj
+108 686.127 Td
+(le) 7.19329 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el,) 9.68404 Tj
+-250 TJm
+(spe) 13.2807 Tj
+25 TJm
+(wing) 19.926 Tj
+-250 TJm
+(out) 12.7327 Tj
+-250 TJm
+(lots) 14.3965 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(info) 16.0504 Tj
+1 TJm
+(rmation) 30.9949 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(primarily) 37.0823 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(interest) 29.3311 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(diagnostic) 40.9579 Tj
+-250 TJm
+(pu) 9.963 Tj
+1 TJm
+(rposes.) 27.9462 Tj
+[1 0 0 1 72 683.97] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -670.023] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 660.224 Td
+/F130_0 9.963 Tf
+(-L) 11.9556 Tj
+-600 TJm
+(--license) 53.8002 Tj
+-600 TJm
+(-V) 11.9556 Tj
+-600 TJm
+(--version) 53.8002 Tj
+[1 0 0 1 221.44 660.224] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -151.93 -0.209] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -660.015] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 648.269 Td
+/F128_0 9.963 Tf
+(Display) 30.9949 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(softw) 22.1378 Tj
+10 TJm
+(are) 12.1648 Tj
+-250 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+1 TJm
+(,) 2.49075 Tj
+-250 TJm
+(license) 27.6673 Tj
+-250 TJm
+(terms) 22.1378 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(conditions.) 44.0066 Tj
+[1 0 0 1 72 646.112] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -632.165] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 622.366 Td
+/F130_0 9.963 Tf
+(-1) 11.9556 Tj
+[1 0 0 1 83.955 622.366] cm
+0 g
+0 G
+[1 0 0 1 -83.955 -622.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.446 622.366 Td
+/F128_0 9.963 Tf
+(\(or) 11.6169 Tj
+[1 0 0 1 100.553 622.366] cm
+0 g
+0 G
+[1 0 0 1 -100.553 -622.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+100.553 622.366 Td
+/F130_0 9.963 Tf
+(--fast) 35.8668 Tj
+[1 0 0 1 136.418 622.366] cm
+0 g
+0 G
+[1 0 0 1 -136.418 -622.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+136.418 622.366 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 152.468 622.366] cm
+0 g
+0 G
+[1 0 0 1 -152.468 -622.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+152.468 622.366 Td
+/F130_0 9.963 Tf
+(-9) 11.9556 Tj
+[1 0 0 1 164.423 622.366] cm
+0 g
+0 G
+[1 0 0 1 -164.423 -622.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+166.914 622.366 Td
+/F128_0 9.963 Tf
+(\(or) 11.6169 Tj
+[1 0 0 1 181.021 622.366] cm
+0 g
+0 G
+[1 0 0 1 -181.021 -622.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+181.021 622.366 Td
+/F130_0 9.963 Tf
+(-best) 29.889 Tj
+[1 0 0 1 210.909 622.366] cm
+0 g
+0 G
+[1 0 0 1 -210.909 -622.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.909 622.366 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+[1 0 0 1 214.226 622.366] cm
+0 g
+0 G
+[1 0 0 1 -142.226 -1.783] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -620.583] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 610.411 Td
+/F128_0 9.963 Tf
+(Set) 12.7327 Tj
+-288 TJm
+(the) 12.1748 Tj
+-288 TJm
+(block) 22.1378 Tj
+-289 TJm
+(size) 15.4925 Tj
+-288 TJm
+(to) 7.75121 Tj
+-288 TJm
+(100) 14.9445 Tj
+-288 TJm
+(k,) 7.47225 Tj
+-298 TJm
+(200) 14.9445 Tj
+-288 TJm
+(k) 4.9815 Tj
+-289 TJm
+(...) 7.47225 Tj
+-849 TJm
+(900) 14.9445 Tj
+-288 TJm
+(k) 4.9815 Tj
+-289 TJm
+(when) 21.5799 Tj
+-288 TJm
+(compressing.) 52.8537 Tj
+-849 TJm
+(Has) 15.4925 Tj
+-289 TJm
+(no) 9.963 Tj
+-288 TJm
+(ef) 7.74125 Tj
+25 TJm
+(fect) 14.9345 Tj
+-288 TJm
+(when) 21.5799 Tj
+-288 TJm
+(decompressing.) 62.2588 Tj
+-850 TJm
+(See) 14.3866 Tj
+[1 0 0 1 108 598.456] cm
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -108 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 598.456 Td
+/F128_0 9.963 Tf
+(MEMOR) 37.6402 Tj
+65 TJm
+(Y) 7.19329 Tj
+-297 TJm
+(MAN) 23.2437 Tj
+35 TJm
+(A) 7.19329 Tj
+40 TJm
+(GEMENT) 41.5059 Tj
+[1 0 0 1 226.338 598.456] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -226.338 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+229.3 598.456 Td
+/F128_0 9.963 Tf
+([5]) 11.6169 Tj
+[1 0 0 1 240.916 598.456] cm
+0 0 1 rg
+0 0 1 RG
+0 g
+0 G
+[1 0 0 1 -240.916 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+243.878 598.456 Td
+/F128_0 9.963 Tf
+(belo) 17.1563 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(.) 2.49075 Tj
+-904 TJm
+(The) 15.4925 Tj
+[1 0 0 1 297.278 598.456] cm
+0 g
+0 G
+[1 0 0 1 -297.278 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+297.278 598.456 Td
+/F130_0 9.963 Tf
+(--fast) 35.8668 Tj
+[1 0 0 1 333.144 598.456] cm
+0 g
+0 G
+[1 0 0 1 -333.144 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+336.106 598.456 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 353.454 598.456] cm
+0 g
+0 G
+[1 0 0 1 -353.454 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+353.454 598.456 Td
+/F130_0 9.963 Tf
+(--best) 35.8668 Tj
+[1 0 0 1 389.319 598.456] cm
+0 g
+0 G
+[1 0 0 1 -389.319 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+392.281 598.456 Td
+/F128_0 9.963 Tf
+(aliases) 26.5614 Tj
+-297 TJm
+(are) 12.1648 Tj
+-297 TJm
+(primarily) 37.0823 Tj
+-297 TJm
+(for) 11.6169 Tj
+-298 TJm
+(GNU) 21.5799 Tj
+[1 0 0 1 516.09 598.456] cm
+0 g
+0 G
+[1 0 0 1 -516.09 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+516.09 598.456 Td
+/F130_0 9.963 Tf
+(gzip) 23.9112 Tj
+[1 0 0 1 540 598.456] cm
+0 g
+0 G
+[1 0 0 1 -540 -598.456] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 586.501 Td
+/F128_0 9.963 Tf
+(compatibility) 53.1426 Tj
+65 TJm
+(.) 2.49075 Tj
+-356 TJm
+(In) 8.29918 Tj
+-265 TJm
+(particular) 38.1782 Tj
+40 TJm
+(,) 2.49075 Tj
+[1 0 0 1 220.423 586.501] cm
+0 g
+0 G
+[1 0 0 1 -220.423 -586.501] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+220.423 586.501 Td
+/F130_0 9.963 Tf
+(--fast) 35.8668 Tj
+[1 0 0 1 256.288 586.501] cm
+0 g
+0 G
+[1 0 0 1 -256.288 -586.501] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+258.932 586.501 Td
+/F128_0 9.963 Tf
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-265 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-265 TJm
+(things) 24.3595 Tj
+-266 TJm
+(signi\002can) 38.7461 Tj
+1 TJm
+(tly) 10.5209 Tj
+-266 TJm
+(f) 3.31768 Tj
+10 TJm
+(aster) 18.8101 Tj
+55 TJm
+(.) 2.49075 Tj
+-712 TJm
+(And) 17.1563 Tj
+[1 0 0 1 444.622 586.501] cm
+0 g
+0 G
+[1 0 0 1 -444.622 -586.501] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+444.622 586.501 Td
+/F130_0 9.963 Tf
+(--best) 35.8668 Tj
+[1 0 0 1 480.487 586.501] cm
+0 g
+0 G
+[1 0 0 1 -480.487 -586.501] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+483.131 586.501 Td
+/F128_0 9.963 Tf
+(merely) 27.6673 Tj
+-265 TJm
+(selects) 26.5614 Tj
+108 574.546 Td
+(the) 12.1748 Tj
+-250 TJm
+(def) 12.7228 Tj
+10 TJm
+(ault) 14.9445 Tj
+-250 TJm
+(beha) 18.8101 Tj
+20 TJm
+(viour) 21.0319 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 574.446] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -560.498] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 548.643 Td
+/F130_0 9.963 Tf
+(--) 11.9556 Tj
+[1 0 0 1 83.955 548.643] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -14.446 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -548.643] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 536.688 Td
+/F128_0 9.963 Tf
+(T) 6.08739 Tj
+35 TJm
+(reats) 18.8101 Tj
+-261 TJm
+(all) 9.963 Tj
+-260 TJm
+(subsequent) 44.2756 Tj
+-261 TJm
+(ar) 7.74125 Tj
+18 TJm
+(guments) 33.7646 Tj
+-261 TJm
+(as) 8.29918 Tj
+-260 TJm
+(\002le) 12.7327 Tj
+-261 TJm
+(names,) 27.9462 Tj
+-263 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-261 TJm
+(if) 6.08739 Tj
+-261 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-261 TJm
+(sta) 11.0689 Tj
+1 TJm
+(rt) 6.08739 Tj
+-261 TJm
+(with) 17.7142 Tj
+-261 TJm
+(a) 4.42357 Tj
+-261 TJm
+(dash.) 20.7529 Tj
+-684 TJm
+(This) 17.7142 Tj
+-261 TJm
+(is) 6.64532 Tj
+-261 TJm
+(so) 8.85711 Tj
+-261 TJm
+(yo) 9.963 Tj
+1 TJm
+(u) 4.9815 Tj
+-261 TJm
+(can) 13.8286 Tj
+-261 TJm
+(handle) 26.5614 Tj
+-261 TJm
+(\002les) 16.6083 Tj
+108 524.732 Td
+(with) 17.7142 Tj
+-250 TJm
+(names) 25.4555 Tj
+-250 TJm
+(be) 9.40507 Tj
+15 TJm
+(ginning) 30.4469 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(a) 4.42357 Tj
+-249 TJm
+(dash,) 20.7529 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(e) 4.42357 Tj
+15 TJm
+(xample:) 32.1008 Tj
+[1 0 0 1 302.27 524.732] cm
+0 g
+0 G
+[1 0 0 1 -302.27 -524.732] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+302.27 524.732 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+-600 TJm
+(--) 11.9556 Tj
+-600 TJm
+(-myfilename) 65.7558 Tj
+[1 0 0 1 421.821 524.732] cm
+0 g
+0 G
+[1 0 0 1 -421.821 -524.732] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+421.821 524.732 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 522.576] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -508.628] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 498.83 Td
+/F130_0 9.963 Tf
+(--repetitive-fast) 101.623 Tj
+[1 0 0 1 173.619 498.83] cm
+0 g
+0 G
+[1 0 0 1 -173.619 -498.83] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+173.619 498.83 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 178.6 498.83] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -181.091 -498.83] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+181.091 498.83 Td
+/F130_0 9.963 Tf
+(--repetitive-best) 101.623 Tj
+[1 0 0 1 282.71 498.83] cm
+0 g
+0 G
+[1 0 0 1 -282.71 -498.83] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+282.71 498.83 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 287.691 498.83] cm
+0 g
+0 G
+[1 0 0 1 -215.691 -1.564] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -497.266] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 486.874 Td
+/F128_0 9.963 Tf
+(These) 23.7916 Tj
+-207 TJm
+(\003ags) 18.8201 Tj
+-206 TJm
+(are) 12.1648 Tj
+-207 TJm
+(redundant) 39.842 Tj
+-206 TJm
+(in) 7.75121 Tj
+-207 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-206 TJm
+(0.9.5) 19.926 Tj
+-207 TJm
+(and) 14.3866 Tj
+-207 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e.) 6.91432 Tj
+-591 TJm
+(The) 15.4925 Tj
+15 TJm
+(y) 4.9815 Tj
+-206 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vided) 22.1378 Tj
+-207 TJm
+(some) 21.0319 Tj
+-206 TJm
+(coarse) 25.4455 Tj
+-207 TJm
+(control) 28.2252 Tj
+-206 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-207 TJm
+(the) 12.1748 Tj
+-207 TJm
+(beha) 18.8101 Tj
+20 TJm
+(viour) 21.0319 Tj
+108 474.919 Td
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-251 TJm
+(sorti) 17.7142 Tj
+1 TJm
+(ng) 9.963 Tj
+-251 TJm
+(algorithm) 38.7461 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(earlier) 25.4455 Tj
+-250 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions,) 30.7159 Tj
+-251 TJm
+(which) 24.3496 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-250 TJm
+(sometimes) 42.6217 Tj
+-250 TJm
+(useful.) 26.8403 Tj
+-622 TJm
+(0.9.5) 19.926 Tj
+-251 TJm
+(and) 14.3866 Tj
+-250 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(an) 9.40507 Tj
+-251 TJm
+(impro) 23.8016 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(ed) 9.40507 Tj
+108 462.964 Td
+(algorithm) 38.7461 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(renders) 29.3211 Tj
+-250 TJm
+(thes) 16.0504 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(\003ags) 18.8201 Tj
+-250 TJm
+(irrele) 21.0219 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ant.) 14.6655 Tj
+[1 0 0 1 72 460.807] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -436.897] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 414.264 Td
+/F121_0 20.659 Tf
+(2.5.) 34.4592 Tj
+-278 TJm
+(MEMOR) 79.1859 Tj
+50 TJm
+(Y) 13.7796 Tj
+-278 TJm
+(MANA) 61.9563 Tj
+50 TJm
+(GEMENT) 88.3792 Tj
+[1 0 0 1 72 414.006] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -404.043] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 392.346 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 392.346] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -392.346] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.454 392.346 Td
+/F128_0 9.963 Tf
+(compresses) 45.9294 Tj
+-257 TJm
+(lar) 10.511 Tj
+18 TJm
+(ge) 9.40507 Tj
+-258 TJm
+(\002les) 16.6083 Tj
+-257 TJm
+(in) 7.75121 Tj
+-258 TJm
+(blocks.) 28.5041 Tj
+-665 TJm
+(The) 15.4925 Tj
+-258 TJm
+(block) 22.1378 Tj
+-257 TJm
+(size) 15.4925 Tj
+-258 TJm
+(af) 7.74125 Tj
+25 TJm
+(fects) 18.8101 Tj
+-257 TJm
+(both) 17.7142 Tj
+-258 TJm
+(the) 12.1748 Tj
+-257 TJm
+(compression) 50.363 Tj
+-258 TJm
+(ratio) 18.2622 Tj
+-257 TJm
+(achie) 21.0219 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ed,) 11.8958 Tj
+-260 TJm
+(an) 9.40507 Tj
+1 TJm
+(d) 4.9815 Tj
+-258 TJm
+(the) 12.1748 Tj
+-258 TJm
+(amoun) 27.1193 Tj
+1 TJm
+(t) 2.76971 Tj
+72 380.391 Td
+(of) 8.29918 Tj
+-215 TJm
+(memory) 33.2067 Tj
+-215 TJm
+(needed) 28.2152 Tj
+-214 TJm
+(for) 11.6169 Tj
+-215 TJm
+(compression) 50.363 Tj
+-215 TJm
+(and) 14.3866 Tj
+-215 TJm
+(decompressi) 49.805 Tj
+1 TJm
+(on.) 12.4538 Tj
+-597 TJm
+(The) 15.4925 Tj
+-215 TJm
+(\003ags) 18.8201 Tj
+[1 0 0 1 337.719 380.391] cm
+0 g
+0 G
+[1 0 0 1 -337.719 -380.391] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+337.719 380.391 Td
+/F130_0 9.963 Tf
+(-1) 11.9556 Tj
+[1 0 0 1 349.674 380.391] cm
+0 g
+0 G
+[1 0 0 1 -349.674 -380.391] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+351.815 380.391 Td
+/F128_0 9.963 Tf
+(through) 30.9949 Tj
+[1 0 0 1 384.95 380.391] cm
+0 g
+0 G
+[1 0 0 1 -384.95 -380.391] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+384.95 380.391 Td
+/F130_0 9.963 Tf
+(-9) 11.9556 Tj
+[1 0 0 1 396.905 380.391] cm
+0 g
+0 G
+[1 0 0 1 -396.905 -380.391] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+399.046 380.391 Td
+/F128_0 9.963 Tf
+(specify) 28.7731 Tj
+-215 TJm
+(the) 12.1748 Tj
+-215 TJm
+(block) 22.1378 Tj
+-214 TJm
+(size) 15.4925 Tj
+-215 TJm
+(to) 7.75121 Tj
+-215 TJm
+(be) 9.40507 Tj
+-215 TJm
+(100,000) 32.3798 Tj
+72 368.435 Td
+(bytes) 21.0319 Tj
+-278 TJm
+(throug) 26.0134 Tj
+1 TJm
+(h) 4.9815 Tj
+-278 TJm
+(900,000) 32.3798 Tj
+-278 TJm
+(bytes) 21.0319 Tj
+-277 TJm
+(\(the) 15.4925 Tj
+-278 TJm
+(def) 12.7228 Tj
+10 TJm
+(ault\)) 18.2622 Tj
+-278 TJm
+(r) 3.31768 Tj
+1 TJm
+(especti) 27.6673 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ely) 12.1748 Tj
+65 TJm
+(.) 2.49075 Tj
+-786 TJm
+(At) 9.963 Tj
+-278 TJm
+(decompression) 59.768 Tj
+-278 TJm
+(tim) 13.2906 Tj
+1 TJm
+(e,) 6.91432 Tj
+-285 TJm
+(the) 12.1748 Tj
+-278 TJm
+(block) 22.1378 Tj
+-277 TJm
+(size) 15.4925 Tj
+-278 TJm
+(used) 18.2622 Tj
+-278 TJm
+(f) 3.31768 Tj
+1 TJm
+(or) 8.29918 Tj
+-278 TJm
+(compression) 50.363 Tj
+72 356.48 Td
+(is) 6.64532 Tj
+-242 TJm
+(read) 17.1463 Tj
+-243 TJm
+(from) 19.3681 Tj
+-242 TJm
+(the) 12.1748 Tj
+-243 TJm
+(header) 26.5514 Tj
+-242 TJm
+(of) 8.29918 Tj
+-243 TJm
+(the) 12.1748 Tj
+-242 TJm
+(compressed) 47.0353 Tj
+-242 TJm
+(\002le,) 15.2235 Tj
+-244 TJm
+(and) 14.3866 Tj
+[1 0 0 1 275.174 356.48] cm
+0 g
+0 G
+[1 0 0 1 -275.174 -356.48] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+275.174 356.48 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 317.017 356.48] cm
+0 g
+0 G
+[1 0 0 1 -317.017 -356.48] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+319.433 356.48 Td
+/F128_0 9.963 Tf
+(then) 17.1563 Tj
+-242 TJm
+(allocates) 34.8605 Tj
+-243 TJm
+(itself) 19.926 Tj
+-242 TJm
+(just) 14.3965 Tj
+-243 TJm
+(enough) 29.3311 Tj
+-242 TJm
+(memory) 33.2067 Tj
+-242 TJm
+(to) 7.75121 Tj
+-243 TJm
+(decompress) 47.0353 Tj
+72 344.525 Td
+(the) 12.1748 Tj
+-303 TJm
+(\002le.) 15.2235 Tj
+-940 TJm
+(Since) 22.1378 Tj
+-303 TJm
+(block) 22.1378 Tj
+-303 TJm
+(sizes) 19.3681 Tj
+-304 TJm
+(are) 12.1648 Tj
+-303 TJm
+(stored) 24.3496 Tj
+-303 TJm
+(in) 7.75121 Tj
+-303 TJm
+(compressed) 47.0353 Tj
+-304 TJm
+(\002) 5.53943 Tj
+1 TJm
+(les,) 13.5596 Tj
+-317 TJm
+(it) 5.53943 Tj
+-303 TJm
+(follo) 18.8201 Tj
+25 TJm
+(ws) 11.0689 Tj
+-304 TJm
+(t) 2.76971 Tj
+1 TJm
+(hat) 12.1748 Tj
+-304 TJm
+(the) 12.1748 Tj
+-303 TJm
+(\003ags) 18.8201 Tj
+[1 0 0 1 406.35 344.525] cm
+0 g
+0 G
+[1 0 0 1 -406.35 -344.525] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+406.35 344.525 Td
+/F130_0 9.963 Tf
+(-1) 11.9556 Tj
+[1 0 0 1 418.305 344.525] cm
+0 g
+0 G
+[1 0 0 1 -418.305 -344.525] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+421.327 344.525 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+[1 0 0 1 432.1 344.525] cm
+0 g
+0 G
+[1 0 0 1 -432.1 -344.525] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+432.1 344.525 Td
+/F130_0 9.963 Tf
+(-9) 11.9556 Tj
+[1 0 0 1 444.055 344.525] cm
+0 g
+0 G
+[1 0 0 1 -444.055 -344.525] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+447.077 344.525 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+-303 TJm
+(irrele) 21.0219 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ant) 12.1748 Tj
+-303 TJm
+(to) 7.75121 Tj
+-304 TJm
+(and) 14.3866 Tj
+-303 TJm
+(so) 8.85711 Tj
+72 332.57 Td
+(ignored) 30.437 Tj
+-250 TJm
+(during) 26.0134 Tj
+-250 TJm
+(decompression) 59.768 Tj
+1 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 330.413] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -320.451] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 310.652 Td
+/F128_0 9.963 Tf
+(Compression) 52.5847 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(decompress) 47.0353 Tj
+1 TJm
+(ion) 12.7327 Tj
+-250 TJm
+(requirements,) 54.5076 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(bytes,) 23.5226 Tj
+-250 TJm
+(can) 13.8286 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(estimated) 38.1882 Tj
+-250 TJm
+(as:) 11.0689 Tj
+[1 0 0 1 72 308.495] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 56.189] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -299.13] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 299.13 Td
+/F130_0 9.963 Tf
+(Compression:) 71.7336 Tj
+-1278 TJm
+(400k) 23.9112 Tj
+-426 TJm
+(+) 5.9778 Tj
+-426 TJm
+(\() 5.9778 Tj
+-425 TJm
+(8) 5.9778 Tj
+-426 TJm
+(x) 5.9778 Tj
+-426 TJm
+(block) 29.889 Tj
+-426 TJm
+(size) 23.9112 Tj
+-426 TJm
+(\)) 5.9778 Tj
+90 275.22 Td
+(Decompression:) 83.6892 Tj
+-426 TJm
+(100k) 23.9112 Tj
+-426 TJm
+(+) 5.9778 Tj
+-426 TJm
+(\() 5.9778 Tj
+-425 TJm
+(4) 5.9778 Tj
+-426 TJm
+(x) 5.9778 Tj
+-426 TJm
+(block) 29.889 Tj
+-426 TJm
+(size) 23.9112 Tj
+-426 TJm
+(\),) 11.9556 Tj
+-426 TJm
+(or) 11.9556 Tj
+153.66 263.265 Td
+(100k) 23.9112 Tj
+-426 TJm
+(+) 5.9778 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(2.5) 17.9334 Tj
+-426 TJm
+(x) 5.9778 Tj
+-426 TJm
+(block) 29.889 Tj
+-426 TJm
+(s) 5.9778 Tj
+1 TJm
+(ize) 17.9334 Tj
+-426 TJm
+(\)) 5.9778 Tj
+[1 0 0 1 72 247.723] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -237.761] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 225.805 Td
+/F128_0 9.963 Tf
+(Lar) 13.8286 Tj
+18 TJm
+(ger) 12.7228 Tj
+-292 TJm
+(block) 22.1378 Tj
+-291 TJm
+(sizes) 19.3681 Tj
+-292 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-292 TJm
+(rapidly) 28.2252 Tj
+-291 TJm
+(diminishing) 47.6132 Tj
+-292 TJm
+(mar) 15.4925 Tj
+18 TJm
+(ginal) 19.926 Tj
+-291 TJm
+(returns.) 30.158 Tj
+-871 TJm
+(Most) 20.4839 Tj
+-292 TJm
+(of) 8.29918 Tj
+-291 TJm
+(the) 12.1748 Tj
+-292 TJm
+(compression) 50.363 Tj
+-292 TJm
+(com) 17.1563 Tj
+1 TJm
+(es) 8.29918 Tj
+-292 TJm
+(from) 19.3681 Tj
+-292 TJm
+(the) 12.1748 Tj
+-292 TJm
+(\002rst) 15.5024 Tj
+-291 TJm
+(tw) 9.963 Tj
+10 TJm
+(o) 4.9815 Tj
+-292 TJm
+(or) 8.29918 Tj
+72 213.85 Td
+(three) 19.916 Tj
+-232 TJm
+(hundred) 32.6488 Tj
+-232 TJm
+(k) 4.9815 Tj
+-232 TJm
+(o) 4.9815 Tj
+1 TJm
+(f) 3.31768 Tj
+-232 TJm
+(block) 22.1378 Tj
+-232 TJm
+(size,) 17.9832 Tj
+-236 TJm
+(a) 4.42357 Tj
+-232 TJm
+(f) 3.31768 Tj
+10 TJm
+(a) 4.42357 Tj
+1 TJm
+(ct) 7.19329 Tj
+-232 TJm
+(w) 7.19329 Tj
+10 TJm
+(orth) 16.0504 Tj
+-232 TJm
+(bearing) 29.879 Tj
+-232 TJm
+(in) 7.75121 Tj
+-232 TJm
+(mind) 20.4839 Tj
+-232 TJm
+(when) 21.5799 Tj
+-231 TJm
+(using) 21.5898 Tj
+[1 0 0 1 354.025 213.85] cm
+0 g
+0 G
+[1 0 0 1 -354.025 -213.85] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+354.025 213.85 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 383.913 213.85] cm
+0 g
+0 G
+[1 0 0 1 -383.913 -213.85] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+386.223 213.85 Td
+/F128_0 9.963 Tf
+(on) 9.963 Tj
+-232 TJm
+(small) 21.5898 Tj
+-232 TJm
+(machines.) 40.121 Tj
+-303 TJm
+(It) 6.08739 Tj
+-232 TJm
+(is) 6.64532 Tj
+-232 TJm
+(also) 16.0504 Tj
+-232 TJm
+(important) 38.7461 Tj
+72 201.895 Td
+(to) 7.75121 Tj
+-250 TJm
+(appreciate) 40.938 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(decom) 26.5614 Tj
+1 TJm
+(pression) 33.2067 Tj
+-250 TJm
+(memory) 33.2067 Tj
+-250 TJm
+(requirement) 48.1412 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(set) 11.0689 Tj
+-250 TJm
+(at) 7.19329 Tj
+-250 TJm
+(compression) 50.363 Tj
+-250 TJm
+(ti) 5.53943 Tj
+1 TJm
+(me) 12.1748 Tj
+-250 TJm
+(by) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(choice) 26.0034 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(block) 22.1378 Tj
+-250 TJm
+(size.) 17.9832 Tj
+[1 0 0 1 72 199.738] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -189.776] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 179.977 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-388 TJm
+(\002les) 16.6083 Tj
+-389 TJm
+(compressed) 47.0353 Tj
+-388 TJm
+(with) 17.7142 Tj
+-388 TJm
+(the) 12.1748 Tj
+-389 TJm
+(def) 12.7228 Tj
+10 TJm
+(ault) 14.9445 Tj
+-388 TJm
+(900k) 19.926 Tj
+-388 TJm
+(block) 22.1378 Tj
+-389 TJm
+(size,) 17.9832 Tj
+[1 0 0 1 302.002 179.977] cm
+0 g
+0 G
+[1 0 0 1 -302.002 -179.977] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+302.002 179.977 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 343.845 179.977] cm
+0 g
+0 G
+[1 0 0 1 -343.845 -179.977] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+347.716 179.977 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-388 TJm
+(require) 28.2152 Tj
+-389 TJm
+(about) 22.1378 Tj
+-388 TJm
+(3700) 19.926 Tj
+-388 TJm
+(kbytes) 26.0134 Tj
+-389 TJm
+(to) 7.75121 Tj
+-388 TJm
+(decompress.) 49.5261 Tj
+72 168.022 Td
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-424 TJm
+(support) 29.889 Tj
+-424 TJm
+(decompression) 59.768 Tj
+-424 TJm
+(of) 8.29918 Tj
+-425 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-424 TJm
+(\002le) 12.7327 Tj
+-424 TJm
+(on) 9.963 Tj
+-424 TJm
+(a) 4.42357 Tj
+-425 TJm
+(4) 4.9815 Tj
+-424 TJm
+(me) 12.1748 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(abyte) 21.5799 Tj
+-424 TJm
+(machine,) 36.2454 Tj
+[1 0 0 1 348.272 168.022] cm
+0 g
+0 G
+[1 0 0 1 -348.272 -168.022] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+348.272 168.022 Td
+/F130_0 9.963 Tf
+(bunzip2) 41.8446 Tj
+[1 0 0 1 390.115 168.022] cm
+0 g
+0 G
+[1 0 0 1 -390.115 -168.022] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+394.342 168.022 Td
+/F128_0 9.963 Tf
+(has) 13.2807 Tj
+-424 TJm
+(an) 9.40507 Tj
+-424 TJm
+(option) 25.4654 Tj
+-425 TJm
+(to) 7.75121 Tj
+-424 TJm
+(decompress) 47.0353 Tj
+-424 TJm
+(using) 21.5898 Tj
+72 156.067 Td
+(approximately) 57.5563 Tj
+-281 TJm
+(ha) 9.40507 Tj
+1 TJm
+(lf) 6.08739 Tj
+-281 TJm
+(this) 14.3965 Tj
+-281 TJm
+(amount) 29.889 Tj
+-281 TJm
+(of) 8.29918 Tj
+-280 TJm
+(memory) 33.2067 Tj
+65 TJm
+(,) 2.49075 Tj
+-289 TJm
+(about) 22.1378 Tj
+-280 TJm
+(2300) 19.926 Tj
+-281 TJm
+(kbytes.) 28.5041 Tj
+-805 TJm
+(Decom) 28.7731 Tj
+1 TJm
+(pression) 33.2067 Tj
+-281 TJm
+(speed) 22.6858 Tj
+-281 TJm
+(is) 6.64532 Tj
+-281 TJm
+(a) 4.42357 Tj
+1 TJm
+(lso) 11.6268 Tj
+-281 TJm
+(halv) 17.1563 Tj
+15 TJm
+(ed,) 11.8958 Tj
+-289 TJm
+(so) 8.85711 Tj
+-280 TJm
+(you) 14.9445 Tj
+-281 TJm
+(should) 26.5713 Tj
+72 144.112 Td
+(use) 13.2807 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(option) 25.4654 Tj
+-250 TJm
+(only) 17.7142 Tj
+-250 TJm
+(where) 24.3396 Tj
+-250 TJm
+(nec) 13.8286 Tj
+1 TJm
+(essary) 24.8975 Tj
+65 TJm
+(.) 2.49075 Tj
+-620 TJm
+(The) 15.4925 Tj
+-250 TJm
+(rele) 14.9345 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ant) 12.1748 Tj
+-250 TJm
+(\003ag) 14.9445 Tj
+-250 TJm
+(is) 6.64532 Tj
+[1 0 0 1 305.024 144.112] cm
+0 g
+0 G
+[1 0 0 1 -305.024 -144.112] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+305.024 144.112 Td
+/F130_0 9.963 Tf
+(-s) 11.9556 Tj
+[1 0 0 1 316.979 144.112] cm
+0 g
+0 G
+[1 0 0 1 -316.979 -144.112] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+316.979 144.112 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 141.955] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -131.992] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 122.194 Td
+/F128_0 9.963 Tf
+(In) 8.29918 Tj
+-204 TJm
+(general,) 31.8119 Tj
+-214 TJm
+(try) 11.0689 Tj
+-204 TJm
+(and) 14.3866 Tj
+-204 TJm
+(use) 13.2807 Tj
+-205 TJm
+(the) 12.1748 Tj
+-204 TJm
+(lar) 10.511 Tj
+18 TJm
+(gest) 16.0504 Tj
+-204 TJm
+(block) 22.1378 Tj
+-205 TJm
+(size) 15.4925 Tj
+-204 TJm
+(memory) 33.2067 Tj
+-204 TJm
+(constraints) 43.1697 Tj
+-204 TJm
+(allo) 14.9445 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(,) 2.49075 Tj
+-214 TJm
+(since) 20.474 Tj
+-204 TJm
+(that) 14.9445 Tj
+-204 TJm
+(maximises) 42.6217 Tj
+-205 TJm
+(the) 12.1748 Tj
+-204 TJm
+(compression) 50.363 Tj
+-204 TJm
+(achie) 21.0219 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ed.) 11.8958 Tj
+72 110.239 Td
+(Compression) 52.5847 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(decompress) 47.0353 Tj
+1 TJm
+(ion) 12.7327 Tj
+-250 TJm
+(speed) 22.6858 Tj
+-250 TJm
+(are) 12.1648 Tj
+-250 TJm
+(virtually) 33.7646 Tj
+-250 TJm
+(unaf) 17.7043 Tj
+25 TJm
+(fected) 24.3396 Tj
+-250 TJm
+(by) 9.963 Tj
+-250 TJm
+(block) 22.1378 Tj
+-250 TJm
+(size.) 17.9832 Tj
+[1 0 0 1 72 108.082] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -98.119] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 88.321 Td
+/F128_0 9.963 Tf
+(Another) 32.6488 Tj
+-296 TJm
+(signi\002cant) 41.5158 Tj
+-295 TJm
+(point) 20.4839 Tj
+-296 TJm
+(applies) 28.2252 Tj
+-296 TJm
+(to) 7.75121 Tj
+-296 TJm
+(\002les) 16.6083 Tj
+-295 TJm
+(which) 24.3496 Tj
+-296 TJm
+(\002t) 8.30914 Tj
+-296 TJm
+(in) 7.75121 Tj
+-296 TJm
+(a) 4.42357 Tj
+-296 TJm
+(s) 3.87561 Tj
+1 TJm
+(ingle) 19.926 Tj
+-296 TJm
+(block) 22.1378 Tj
+-296 TJm
+(--) 6.63536 Tj
+-296 TJm
+(that) 14.9445 Tj
+-296 TJm
+(mea) 16.5984 Tj
+1 TJm
+(ns) 8.85711 Tj
+-296 TJm
+(most) 19.378 Tj
+-296 TJm
+(\002les) 16.6083 Tj
+-296 TJm
+(you') 18.2622 Tj
+50 TJm
+(d) 4.9815 Tj
+-296 TJm
+(enc) 13.8286 Tj
+1 TJm
+(ounter) 25.4555 Tj
+-296 TJm
+(using) 21.5898 Tj
+-296 TJm
+(a) 4.42357 Tj
+72 76.366 Td
+(lar) 10.511 Tj
+18 TJm
+(ge) 9.40507 Tj
+-290 TJm
+(block) 22.1378 Tj
+-290 TJm
+(size) 15.4925 Tj
+1 TJm
+(.) 2.49075 Tj
+-860 TJm
+(The) 15.4925 Tj
+-290 TJm
+(amou) 22.1378 Tj
+1 TJm
+(nt) 7.75121 Tj
+-290 TJm
+(of) 8.29918 Tj
+-290 TJm
+(real) 14.9345 Tj
+-290 TJm
+(memory) 33.2067 Tj
+-290 TJm
+(touched) 31.5429 Tj
+-289 TJm
+(is) 6.64532 Tj
+-290 TJm
+(proportional) 49.2571 Tj
+-290 TJm
+(to) 7.75121 Tj
+-290 TJm
+(the) 12.1748 Tj
+-290 TJm
+(size) 15.4925 Tj
+-289 TJm
+(of) 8.29918 Tj
+-290 TJm
+(the) 12.1748 Tj
+-290 TJm
+(\002le,) 15.2235 Tj
+-300 TJm
+(since) 20.474 Tj
+-290 TJm
+(the) 12.1748 Tj
+-289 TJm
+(\002le) 12.7327 Tj
+-290 TJm
+(is) 6.64532 Tj
+-290 TJm
+(smaller) 29.3311 Tj
+[1 0 0 1 72 50.852] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.063 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -496.332 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+539.395 50.951 Td
+/F128_0 9.963 Tf
+(5) 4.9815 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 9 9
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 105.519 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -371.59 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.109 749.245 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(than) 17.1563 Tj
+-362 TJm
+(a) 4.42357 Tj
+-362 TJm
+(block.) 24.6285 Tj
+-1292 TJm
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-362 TJm
+(e) 4.42357 Tj
+15 TJm
+(xample,) 31.8218 Tj
+-390 TJm
+(compressing) 50.363 Tj
+-362 TJm
+(a) 4.42357 Tj
+-362 TJm
+(\002le) 12.7327 Tj
+-362 TJm
+(20,000) 27.3983 Tj
+-362 TJm
+(bytes) 21.0319 Tj
+-362 TJm
+(long) 17.7142 Tj
+-362 TJm
+(with) 17.7142 Tj
+-362 TJm
+(the) 12.1748 Tj
+-362 TJm
+(\003ag) 14.9445 Tj
+[1 0 0 1 406.528 710.037] cm
+0 g
+0 G
+[1 0 0 1 -406.528 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+406.528 710.037 Td
+/F130_0 9.963 Tf
+(-9) 11.9556 Tj
+[1 0 0 1 418.483 710.037] cm
+0 g
+0 G
+[1 0 0 1 -418.483 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+422.091 710.037 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-362 TJm
+(cause) 22.1278 Tj
+-362 TJm
+(the) 12.1748 Tj
+-362 TJm
+(compressor) 45.9294 Tj
+-362 TJm
+(to) 7.75121 Tj
+72 698.082 Td
+(allocate) 30.9849 Tj
+-271 TJm
+(around) 27.6673 Tj
+-272 TJm
+(7600k) 24.9075 Tj
+-271 TJm
+(of) 8.29918 Tj
+-272 TJm
+(m) 7.75121 Tj
+1 TJm
+(emory) 25.4555 Tj
+65 TJm
+(,) 2.49075 Tj
+-277 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-272 TJm
+(only) 17.7142 Tj
+-271 TJm
+(touch) 22.1378 Tj
+-271 TJm
+(400k) 19.926 Tj
+-272 TJm
+(+) 5.61913 Tj
+-271 TJm
+(20000) 24.9075 Tj
+-272 TJm
+(*) 4.9815 Tj
+-271 TJm
+(8) 4.9815 Tj
+-272 TJm
+(=) 5.61913 Tj
+-271 TJm
+(560) 14.9445 Tj
+-271 TJm
+(kbytes) 26.0134 Tj
+-272 TJm
+(of) 8.29918 Tj
+-271 TJm
+(it.) 8.03018 Tj
+-749 TJm
+(Similarly) 37.0922 Tj
+65 TJm
+(,) 2.49075 Tj
+-277 TJm
+(the) 12.1748 Tj
+-271 TJm
+(decompressor) 55.3345 Tj
+72 686.127 Td
+(will) 15.5024 Tj
+-250 TJm
+(allocate) 30.9849 Tj
+-250 TJm
+(3700k) 24.9075 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(only) 17.7142 Tj
+-250 TJm
+(t) 2.76971 Tj
+1 TJm
+(ouch) 19.3681 Tj
+-250 TJm
+(100k) 19.926 Tj
+-250 TJm
+(+) 5.61913 Tj
+-250 TJm
+(20000) 24.9075 Tj
+-250 TJm
+(*) 4.9815 Tj
+-250 TJm
+(4) 4.9815 Tj
+-250 TJm
+(=) 5.61913 Tj
+-250 TJm
+(180) 14.9445 Tj
+-250 TJm
+(kbytes.) 28.5041 Tj
+[1 0 0 1 72 683.97] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -674.008] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 664.209 Td
+/F128_0 9.963 Tf
+(Here) 19.3581 Tj
+-293 TJm
+(is) 6.64532 Tj
+-294 TJm
+(a) 4.42357 Tj
+-293 TJm
+(table) 19.3681 Tj
+-294 TJm
+(which) 24.3496 Tj
+-293 TJm
+(summarises) 47.0453 Tj
+-293 TJm
+(the) 12.1748 Tj
+-294 TJm
+(maximu) 32.6587 Tj
+1 TJm
+(m) 7.75121 Tj
+-294 TJm
+(memory) 33.2067 Tj
+-293 TJm
+(usage) 22.6858 Tj
+-294 TJm
+(for) 11.6169 Tj
+-293 TJm
+(dif) 11.0689 Tj
+25 TJm
+(ferent) 23.2337 Tj
+-293 TJm
+(block) 22.1378 Tj
+-294 TJm
+(sizes.) 21.8588 Tj
+-880 TJm
+(Also) 18.8201 Tj
+-294 TJm
+(recorded) 34.8506 Tj
+-293 TJm
+(is) 6.64532 Tj
+-294 TJm
+(the) 12.1748 Tj
+-293 TJm
+(total) 17.7142 Tj
+72 652.254 Td
+(compressed) 47.0353 Tj
+-289 TJm
+(size) 15.4925 Tj
+-289 TJm
+(for) 11.6169 Tj
+-289 TJm
+(14) 9.963 Tj
+-289 TJm
+(\002les) 16.6083 Tj
+-289 TJm
+(of) 8.29918 Tj
+-289 TJm
+(the) 12.1748 Tj
+-289 TJm
+(Calg) 18.8201 Tj
+5 TJm
+(ary) 12.7228 Tj
+-289 TJm
+(T) 6.08739 Tj
+70 TJm
+(e) 4.42357 Tj
+15 TJm
+(xt) 7.75121 Tj
+-289 TJm
+(Compression) 52.5847 Tj
+-289 TJm
+(Corpus) 28.7831 Tj
+-289 TJm
+(totalling) 33.2166 Tj
+-289 TJm
+(3,141,622) 39.852 Tj
+-289 TJm
+(bytes.) 23.5226 Tj
+-855 TJm
+(This) 17.7142 Tj
+-289 TJm
+(column) 29.889 Tj
+-289 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+72 640.299 Td
+(some) 21.0319 Tj
+-253 TJm
+(feel) 14.9345 Tj
+-253 TJm
+(for) 11.6169 Tj
+-253 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-253 TJm
+(compression) 50.363 Tj
+-253 TJm
+(v) 4.9815 Tj
+25 TJm
+(aries) 18.8101 Tj
+-253 TJm
+(with) 17.7142 Tj
+-253 TJm
+(bl) 7.75121 Tj
+1 TJm
+(ock) 14.3866 Tj
+-253 TJm
+(size.) 17.9832 Tj
+-639 TJm
+(These) 23.7916 Tj
+-253 TJm
+(\002g) 10.5209 Tj
+1 TJm
+(ures) 16.5984 Tj
+-253 TJm
+(tend) 17.1563 Tj
+-253 TJm
+(to) 7.75121 Tj
+-253 TJm
+(understate) 40.9479 Tj
+-253 TJm
+(the) 12.1748 Tj
+-253 TJm
+(adv) 14.3866 Tj
+25 TJm
+(antage) 26.0034 Tj
+-253 TJm
+(of) 8.29918 Tj
+-253 TJm
+(lar) 10.511 Tj
+18 TJm
+(ger) 12.7228 Tj
+-253 TJm
+(block) 22.1378 Tj
+72 628.344 Td
+(sizes) 19.3681 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(lar) 10.511 Tj
+18 TJm
+(ger) 12.7228 Tj
+-250 TJm
+(\002les,) 19.0991 Tj
+-250 TJm
+(since) 20.474 Tj
+-250 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-250 TJm
+(Corpus) 28.7831 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(dominated) 42.0638 Tj
+-250 TJm
+(by) 9.963 Tj
+-250 TJm
+(smaller) 29.3311 Tj
+-250 TJm
+(\002les.) 19.0991 Tj
+[1 0 0 1 72 626.187] cm
+0 g
+0 G
+[1 0 0 1 0 -156.414] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 155.417 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 151.831] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -616.822] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+123.952 616.822 Td
+/F130_0 9.963 Tf
+(Compress) 47.8224 Tj
+-1278 TJm
+(Decompress) 59.778 Tj
+-1277 TJm
+(Decompress) 59.778 Tj
+-1278 TJm
+(Corpus) 35.8668 Tj
+90 604.867 Td
+(Flag) 23.9112 Tj
+-2130 TJm
+(usage) 29.889 Tj
+-2556 TJm
+(us) 11.9556 Tj
+1 TJm
+(age) 17.9334 Tj
+-2982 TJm
+(-s) 11.9556 Tj
+-426 TJm
+(usage) 29.889 Tj
+-2130 TJm
+(Size) 23.9112 Tj
+94.244 580.957 Td
+(-1) 11.9556 Tj
+-2556 TJm
+(1200k) 29.889 Tj
+-2982 TJm
+(50) 11.9556 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3834 TJm
+(350k) 23.9112 Tj
+-2556 TJm
+(914704) 35.8668 Tj
+94.244 569.001 Td
+(-2) 11.9556 Tj
+-2556 TJm
+(2000k) 29.889 Tj
+-2982 TJm
+(90) 11.9556 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3834 TJm
+(600k) 23.9112 Tj
+-2556 TJm
+(877703) 35.8668 Tj
+94.244 557.046 Td
+(-3) 11.9556 Tj
+-2556 TJm
+(2800k) 29.889 Tj
+-2556 TJm
+(130) 17.9334 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3834 TJm
+(850k) 23.9112 Tj
+-2556 TJm
+(860338) 35.8668 Tj
+94.244 545.091 Td
+(-4) 11.9556 Tj
+-2556 TJm
+(3600k) 29.889 Tj
+-2556 TJm
+(170) 17.9334 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3408 TJm
+(1100k) 29.889 Tj
+-2556 TJm
+(846899) 35.8668 Tj
+94.244 533.136 Td
+(-5) 11.9556 Tj
+-2556 TJm
+(4400k) 29.889 Tj
+-2556 TJm
+(210) 17.9334 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3408 TJm
+(1350k) 29.889 Tj
+-2556 TJm
+(845160) 35.8668 Tj
+94.244 521.181 Td
+(-6) 11.9556 Tj
+-2556 TJm
+(5200k) 29.889 Tj
+-2556 TJm
+(250) 17.9334 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3408 TJm
+(1600k) 29.889 Tj
+-2556 TJm
+(838626) 35.8668 Tj
+94.244 509.225 Td
+(-7) 11.9556 Tj
+-2556 TJm
+(6100k) 29.889 Tj
+-2556 TJm
+(290) 17.9334 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3408 TJm
+(1850k) 29.889 Tj
+-2556 TJm
+(834096) 35.8668 Tj
+94.244 497.27 Td
+(-8) 11.9556 Tj
+-2556 TJm
+(6800k) 29.889 Tj
+-2556 TJm
+(330) 17.9334 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3408 TJm
+(2100k) 29.889 Tj
+-2556 TJm
+(828642) 35.8668 Tj
+94.244 485.315 Td
+(-9) 11.9556 Tj
+-2556 TJm
+(7600k) 29.889 Tj
+-2556 TJm
+(370) 17.9334 Tj
+1 TJm
+(0k) 11.9556 Tj
+-3408 TJm
+(2350k) 29.889 Tj
+-2556 TJm
+(828642) 35.8668 Tj
+[1 0 0 1 72 469.773] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -459.811] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 435.021 Td
+/F121_0 20.659 Tf
+(2.6.) 34.4592 Tj
+-939 TJm
+(RECO) 59.6839 Tj
+50 TJm
+(VERING) 79.2066 Tj
+-939 TJm
+(D) 14.9158 Tj
+40 TJm
+(A) 14.9158 Tj
+90 TJm
+(T) 12.6226 Tj
+90 TJm
+(A) 14.9158 Tj
+-939 TJm
+(FR) 27.5384 Tj
+20 TJm
+(OM) 33.2816 Tj
+-939 TJm
+(D) 14.9158 Tj
+40 TJm
+(AMA) 47.0405 Tj
+50 TJm
+(GED) 44.7681 Tj
+72 410.23 Td
+(FILES) 58.5476 Tj
+[1 0 0 1 72 409.972] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -400.01] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 388.313 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 388.313] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -388.313] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+105.138 388.313 Td
+/F128_0 9.963 Tf
+(compresses) 45.9294 Tj
+-326 TJm
+(\002les) 16.6083 Tj
+-326 TJm
+(in) 7.75121 Tj
+-326 TJm
+(blocks,) 28.5041 Tj
+-345 TJm
+(usually) 28.7831 Tj
+-326 TJm
+(900kbytes) 40.9579 Tj
+-326 TJm
+(long.) 20.205 Tj
+-1077 TJm
+(Each) 19.916 Tj
+-326 TJm
+(block) 22.1378 Tj
+-326 TJm
+(is) 6.64532 Tj
+-327 TJm
+(handle) 26.5614 Tj
+1 TJm
+(d) 4.9815 Tj
+-327 TJm
+(independe) 40.9479 Tj
+1 TJm
+(ntly) 15.5024 Tj
+65 TJm
+(.) 2.49075 Tj
+-1077 TJm
+(If) 6.63536 Tj
+-327 TJm
+(a) 4.42357 Tj
+-326 TJm
+(media) 24.3496 Tj
+-326 TJm
+(or) 8.29918 Tj
+72 376.357 Td
+(transmission) 50.3729 Tj
+-318 TJm
+(error) 19.3581 Tj
+-319 TJm
+(causes) 26.0034 Tj
+-318 TJm
+(a) 4.42357 Tj
+-319 TJm
+(multi-block) 46.4973 Tj
+[1 0 0 1 234.519 376.357] cm
+0 g
+0 G
+[1 0 0 1 -234.519 -376.357] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.519 376.357 Td
+/F130_0 9.963 Tf
+(.bz2) 23.9112 Tj
+[1 0 0 1 258.429 376.357] cm
+0 g
+0 G
+[1 0 0 1 -258.429 -376.357] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+261.603 376.357 Td
+/F128_0 9.963 Tf
+(\002le) 12.7327 Tj
+-319 TJm
+(to) 7.75121 Tj
+-318 TJm
+(become) 30.9849 Tj
+-319 TJm
+(da) 9.40507 Tj
+1 TJm
+(maged,) 29.0521 Tj
+-336 TJm
+(it) 5.53943 Tj
+-319 TJm
+(may) 17.1563 Tj
+-318 TJm
+(be) 9.40507 Tj
+-319 TJm
+(possible) 32.6587 Tj
+-318 TJm
+(to) 7.75121 Tj
+-319 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-318 TJm
+(data) 16.5984 Tj
+-319 TJm
+(from) 19.3681 Tj
+-318 TJm
+(the) 12.1748 Tj
+72 364.402 Td
+(undamaged) 45.9294 Tj
+-250 TJm
+(blocks) 26.0134 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\002le.) 15.2235 Tj
+[1 0 0 1 72 362.245] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -352.283] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 342.484 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-358 TJm
+(com) 17.1563 Tj
+1 TJm
+(pressed) 29.879 Tj
+-358 TJm
+(representation) 56.4404 Tj
+-357 TJm
+(of) 8.29918 Tj
+-358 TJm
+(each) 18.2522 Tj
+-357 TJm
+(block) 22.1378 Tj
+-358 TJm
+(is) 6.64532 Tj
+-357 TJm
+(delimited) 37.6402 Tj
+-358 TJm
+(by) 9.963 Tj
+-357 TJm
+(a) 4.42357 Tj
+-358 TJm
+(48-bit) 23.8016 Tj
+-357 TJm
+(pattern,) 30.158 Tj
+-385 TJm
+(which) 24.3496 Tj
+-357 TJm
+(mak) 17.1563 Tj
+10 TJm
+(es) 8.29918 Tj
+-358 TJm
+(it) 5.53943 Tj
+-357 TJm
+(possible) 32.6587 Tj
+-358 TJm
+(to) 7.75121 Tj
+-357 TJm
+(\002nd) 15.5024 Tj
+-358 TJm
+(the) 12.1748 Tj
+72 330.529 Td
+(block) 22.1378 Tj
+-286 TJm
+(boundaries) 43.7176 Tj
+-285 TJm
+(with) 17.7142 Tj
+-286 TJm
+(reasonable) 42.6018 Tj
+-285 TJm
+(certainty) 34.8605 Tj
+65 TJm
+(.) 2.49075 Tj
+-835 TJm
+(Each) 19.916 Tj
+-286 TJm
+(block) 22.1378 Tj
+-285 TJm
+(also) 16.0504 Tj
+-286 TJm
+(carries) 26.5514 Tj
+-286 TJm
+(its) 9.41504 Tj
+-285 TJm
+(o) 4.9815 Tj
+25 TJm
+(wn) 12.1748 Tj
+-286 TJm
+(32-bit) 23.8016 Tj
+-286 TJm
+(CRC,) 22.4267 Tj
+-285 TJm
+(so) 8.85711 Tj
+-286 TJm
+(damaged) 35.9664 Tj
+-286 TJm
+(blocks) 26.0134 Tj
+-285 TJm
+(can) 13.8286 Tj
+-286 TJm
+(be) 9.40507 Tj
+72 318.574 Td
+(distinguished) 53.1426 Tj
+-250 TJm
+(from) 19.3681 Tj
+-250 TJm
+(undamage) 40.9479 Tj
+1 TJm
+(d) 4.9815 Tj
+-250 TJm
+(ones.) 20.7529 Tj
+[1 0 0 1 72 316.417] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -306.455] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 296.656 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 143.731 296.656] cm
+0 g
+0 G
+[1 0 0 1 -143.731 -296.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+146.448 296.656 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-273 TJm
+(a) 4.42357 Tj
+-272 TJm
+(simple) 26.5713 Tj
+-273 TJm
+(program) 33.7546 Tj
+-272 TJm
+(whose) 25.4555 Tj
+-273 TJm
+(purpose) 31.5429 Tj
+-273 TJm
+(i) 2.76971 Tj
+1 TJm
+(s) 3.87561 Tj
+-273 TJm
+(to) 7.75121 Tj
+-273 TJm
+(search) 25.4455 Tj
+-272 TJm
+(for) 11.6169 Tj
+-273 TJm
+(blocks) 26.0134 Tj
+-273 TJm
+(in) 7.75121 Tj
+[1 0 0 1 392.655 296.656] cm
+0 g
+0 G
+[1 0 0 1 -392.655 -296.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+392.655 296.656 Td
+/F130_0 9.963 Tf
+(.bz2) 23.9112 Tj
+[1 0 0 1 416.566 296.656] cm
+0 g
+0 G
+[1 0 0 1 -416.566 -296.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+419.282 296.656 Td
+/F128_0 9.963 Tf
+(\002les,) 19.0991 Tj
+-278 TJm
+(and) 14.3866 Tj
+-273 TJm
+(write) 20.474 Tj
+-273 TJm
+(e) 4.42357 Tj
+1 TJm
+(ach) 13.8286 Tj
+-273 TJm
+(block) 22.1378 Tj
+-273 TJm
+(out) 12.7327 Tj
+72 284.701 Td
+(into) 15.5024 Tj
+-254 TJm
+(its) 9.41504 Tj
+-255 TJm
+(o) 4.9815 Tj
+25 TJm
+(wn) 12.1748 Tj
+[1 0 0 1 121.429 284.701] cm
+0 g
+0 G
+[1 0 0 1 -121.429 -284.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+121.429 284.701 Td
+/F130_0 9.963 Tf
+(.bz2) 23.9112 Tj
+[1 0 0 1 145.34 284.701] cm
+0 g
+0 G
+[1 0 0 1 -145.34 -284.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+147.875 284.701 Td
+/F128_0 9.963 Tf
+(\002le.) 15.2235 Tj
+-647 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-254 TJm
+(can) 13.8286 Tj
+-255 TJm
+(then) 17.1563 Tj
+-254 TJm
+(use) 13.2807 Tj
+[1 0 0 1 240.01 284.701] cm
+0 g
+0 G
+[1 0 0 1 -240.01 -284.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+240.01 284.701 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+-600 TJm
+(-t) 11.9556 Tj
+[1 0 0 1 287.831 284.701] cm
+0 g
+0 G
+[1 0 0 1 -287.831 -284.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+290.367 284.701 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-254 TJm
+(test) 13.8386 Tj
+-255 TJm
+(the) 12.1748 Tj
+-254 TJm
+(inte) 14.9445 Tj
+15 TJm
+(grity) 18.8201 Tj
+-255 TJm
+(of) 8.29918 Tj
+-254 TJm
+(the) 12.1748 Tj
+-255 TJm
+(res) 11.6169 Tj
+1 TJm
+(ulting) 23.2536 Tj
+-255 TJm
+(\002les,) 19.0991 Tj
+-255 TJm
+(and) 14.3866 Tj
+-255 TJm
+(decompress) 47.0353 Tj
+-254 TJm
+(those) 21.0319 Tj
+72 272.746 Td
+(which) 24.3496 Tj
+-250 TJm
+(are) 12.1648 Tj
+-250 TJm
+(undamaged.) 48.4202 Tj
+[1 0 0 1 72 270.589] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -260.626] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 250.828 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 143.731 250.828] cm
+0 g
+0 G
+[1 0 0 1 -143.731 -250.828] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+150.099 250.828 Td
+/F128_0 9.963 Tf
+(tak) 12.1748 Tj
+10 TJm
+(es) 8.29918 Tj
+-639 TJm
+(a) 4.42357 Tj
+-639 TJm
+(single) 23.8016 Tj
+-639 TJm
+(ar) 7.74125 Tj
+18 TJm
+(gument,) 32.3798 Tj
+-736 TJm
+(the) 12.1748 Tj
+-639 TJm
+(name) 21.5799 Tj
+-639 TJm
+(of) 8.29918 Tj
+-639 TJm
+(the) 12.1748 Tj
+-640 TJm
+(da) 9.40507 Tj
+1 TJm
+(maged) 26.5614 Tj
+-640 TJm
+(\002) 5.53943 Tj
+1 TJm
+(le,) 9.68404 Tj
+-737 TJm
+(and) 14.3866 Tj
+-639 TJm
+(writes) 24.3496 Tj
+-639 TJm
+(a) 4.42357 Tj
+-639 TJm
+(number) 30.437 Tj
+-639 TJm
+(of) 8.29918 Tj
+-639 TJm
+(\002les) 16.6083 Tj
+[1 0 0 1 72 238.873] cm
+0 g
+0 G
+[1 0 0 1 -72 -238.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 238.873 Td
+/F130_0 9.963 Tf
+(rec0001file.bz2) 89.667 Tj
+[1 0 0 1 161.664 238.873] cm
+0 g
+0 G
+[1 0 0 1 -161.664 -238.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.664 238.873 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 169.072 238.873] cm
+0 g
+0 G
+[1 0 0 1 -169.072 -238.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.072 238.873 Td
+/F130_0 9.963 Tf
+(rec0002file.bz2) 89.667 Tj
+[1 0 0 1 258.736 238.873] cm
+0 g
+0 G
+[1 0 0 1 -258.736 -238.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+258.736 238.873 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-494 TJm
+(etc,) 14.1076 Tj
+-493 TJm
+(containing) 42.0638 Tj
+-445 TJm
+(the) 12.1748 Tj
+-445 TJm
+(e) 4.42357 Tj
+15 TJm
+(xtracted) 32.0908 Tj
+-444 TJm
+(blocks.) 28.5041 Tj
+-1790 TJm
+(The) 15.4925 Tj
+-444 TJm
+(output) 25.4654 Tj
+-445 TJm
+(\002lenames) 38.1882 Tj
+-445 TJm
+(are) 12.1648 Tj
+72 226.918 Td
+(designed) 35.4185 Tj
+-337 TJm
+(so) 8.85711 Tj
+-337 TJm
+(that) 14.9445 Tj
+-336 TJm
+(the) 12.1748 Tj
+-337 TJm
+(use) 13.2807 Tj
+-337 TJm
+(of) 8.29918 Tj
+-337 TJm
+(wildcards) 38.7361 Tj
+-337 TJm
+(in) 7.75121 Tj
+-337 TJm
+(subsequent) 44.2756 Tj
+-336 TJm
+(processing) 42.6118 Tj
+-337 TJm
+(--) 6.63536 Tj
+-337 TJm
+(for) 11.6169 Tj
+-337 TJm
+(e) 4.42357 Tj
+15 TJm
+(xample,) 31.8218 Tj
+[1 0 0 1 396.538 226.918] cm
+0 g
+0 G
+[1 0 0 1 -396.538 -226.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+396.538 226.918 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+-600 TJm
+(-dc) 17.9334 Tj
+-600 TJm
+(rec*file.bz2) 71.7336 Tj
+-600 TJm
+(>) 5.9778 Tj
+72 214.963 Td
+(recovered_data) 83.6892 Tj
+[1 0 0 1 155.686 214.963] cm
+0 g
+0 G
+[1 0 0 1 -155.686 -214.963] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+158.177 214.963 Td
+/F128_0 9.963 Tf
+(--) 6.63536 Tj
+-250 TJm
+(lists) 16.0604 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\002les) 16.6083 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(corr) 16.0404 Tj
+1 TJm
+(ect) 11.6169 Tj
+-250 TJm
+(order) 21.0219 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 213.797] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -203.834] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 193.045 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 143.731 193.045] cm
+0 g
+0 G
+[1 0 0 1 -143.731 -193.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+145.93 193.045 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-221 TJm
+(be) 9.40507 Tj
+-220 TJm
+(of) 8.29918 Tj
+-221 TJm
+(most) 19.378 Tj
+-220 TJm
+(use) 13.2807 Tj
+-221 TJm
+(dealing) 29.3311 Tj
+-221 TJm
+(with) 17.7142 Tj
+-220 TJm
+(lar) 10.511 Tj
+18 TJm
+(ge) 9.40507 Tj
+[1 0 0 1 307.229 193.045] cm
+0 g
+0 G
+[1 0 0 1 -307.229 -193.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+307.229 193.045 Td
+/F130_0 9.963 Tf
+(.bz2) 23.9112 Tj
+[1 0 0 1 331.14 193.045] cm
+0 g
+0 G
+[1 0 0 1 -331.14 -193.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+333.338 193.045 Td
+/F128_0 9.963 Tf
+(\002les,) 19.0991 Tj
+-226 TJm
+(as) 8.29918 Tj
+-221 TJm
+(these) 20.474 Tj
+-221 TJm
+(will) 15.5024 Tj
+-220 TJm
+(contain) 29.3311 Tj
+-221 TJm
+(man) 17.1563 Tj
+15 TJm
+(y) 4.9815 Tj
+-221 TJm
+(b) 4.9815 Tj
+1 TJm
+(locks.) 23.5226 Tj
+-601 TJm
+(It) 6.08739 Tj
+-220 TJm
+(is) 6.64532 Tj
+-221 TJm
+(clearly) 27.1093 Tj
+72 181.09 Td
+(futile) 21.0319 Tj
+-289 TJm
+(to) 7.75121 Tj
+-289 TJm
+(use) 13.2807 Tj
+-289 TJm
+(it) 5.53943 Tj
+-289 TJm
+(on) 9.963 Tj
+-289 TJm
+(damaged) 35.9664 Tj
+-289 TJm
+(single-block) 49.2571 Tj
+-289 TJm
+(\002les,) 19.0991 Tj
+-299 TJm
+(since) 20.474 Tj
+-289 TJm
+(a) 4.42357 Tj
+-289 TJm
+(damaged) 35.9664 Tj
+-289 TJm
+(block) 22.1378 Tj
+-289 TJm
+(cannot) 26.5614 Tj
+-289 TJm
+(be) 9.40507 Tj
+-289 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(ered) 17.1463 Tj
+1 TJm
+(.) 2.49075 Tj
+-855 TJm
+(If) 6.63536 Tj
+-289 TJm
+(you) 14.9445 Tj
+-289 TJm
+(wish) 18.8201 Tj
+-289 TJm
+(to) 7.75121 Tj
+-289 TJm
+(minimise) 37.0922 Tj
+72 169.134 Td
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-320 TJm
+(potential) 34.8705 Tj
+-319 TJm
+(data) 16.5984 Tj
+-320 TJm
+(loss) 15.5024 Tj
+-320 TJm
+(through) 30.9949 Tj
+-319 TJm
+(media) 24.3496 Tj
+-320 TJm
+(or) 8.29918 Tj
+-320 TJm
+(transmission) 50.3729 Tj
+-319 TJm
+(errors,) 25.7245 Tj
+-337 TJm
+(you) 14.9445 Tj
+-320 TJm
+(might) 23.2536 Tj
+-320 TJm
+(consider) 33.7546 Tj
+-319 TJm
+(compressing) 50.363 Tj
+-320 TJm
+(with) 17.7142 Tj
+-320 TJm
+(a) 4.42357 Tj
+-319 TJm
+(smaller) 29.3311 Tj
+-320 TJm
+(block) 22.1378 Tj
+72 157.179 Td
+(size.) 17.9832 Tj
+[1 0 0 1 72 157.08] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -147.117] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 122.426 Td
+/F121_0 20.659 Tf
+(2.7.) 34.4592 Tj
+-278 TJm
+(PERFORMANCE) 161.822 Tj
+-278 TJm
+(NO) 30.9885 Tj
+40 TJm
+(TES) 40.1818 Tj
+[1 0 0 1 72 122.168] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -112.206] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 100.509 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-304 TJm
+(sorting) 27.6772 Tj
+-305 TJm
+(phase) 22.6858 Tj
+-304 TJm
+(of) 8.29918 Tj
+-305 TJm
+(compression) 50.363 Tj
+-304 TJm
+(g) 4.9815 Tj
+5 TJm
+(athers) 23.7916 Tj
+-305 TJm
+(together) 32.6488 Tj
+-304 TJm
+(similar) 27.6772 Tj
+-304 TJm
+(strings) 26.5713 Tj
+-305 TJm
+(in) 7.75121 Tj
+-304 TJm
+(the) 12.1748 Tj
+-305 TJm
+(\002le.) 15.2235 Tj
+-947 TJm
+(Because) 33.1967 Tj
+-305 TJm
+(of) 8.29918 Tj
+-304 TJm
+(this,) 16.8873 Tj
+-318 TJm
+(\002les) 16.6083 Tj
+-305 TJm
+(contai) 24.3496 Tj
+1 TJm
+(ning) 17.7142 Tj
+-305 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+72 88.553 Td
+(long) 17.7142 Tj
+-286 TJm
+(run) 13.2807 Tj
+1 TJm
+(s) 3.87561 Tj
+-286 TJm
+(of) 8.29918 Tj
+-286 TJm
+(repeated) 33.7447 Tj
+-285 TJm
+(symbols,) 35.7074 Tj
+-295 TJm
+(l) 2.76971 Tj
+1 TJm
+(ik) 7.75121 Tj
+10 TJm
+(e) 4.42357 Tj
+-286 TJm
+("aabaabaabaab) 59.3795 Tj
+-285 TJm
+(...") 11.5372 Tj
+-572 TJm
+(\(repea) 24.8876 Tj
+1 TJm
+(ted) 12.1748 Tj
+-286 TJm
+(se) 8.29918 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(eral) 14.9345 Tj
+-286 TJm
+(hun) 14.9445 Tj
+1 TJm
+(dred) 17.7043 Tj
+-286 TJm
+(times\)) 24.9075 Tj
+-286 TJm
+(m) 7.75121 Tj
+1 TJm
+(ay) 9.40507 Tj
+-286 TJm
+(compress) 37.6303 Tj
+-286 TJm
+(m) 7.75121 Tj
+1 TJm
+(ore) 12.7228 Tj
+-286 TJm
+(slo) 11.6268 Tj
+25 TJm
+(wly) 14.9445 Tj
+72 76.598 Td
+(than) 17.1563 Tj
+-321 TJm
+(normal.) 30.7159 Tj
+-525 TJm
+(V) 7.19329 Tj
+111 TJm
+(ersions) 28.2252 Tj
+-321 TJm
+(0.9.5) 19.926 Tj
+-322 TJm
+(and) 14.3866 Tj
+-322 TJm
+(a) 4.42357 Tj
+1 TJm
+(bo) 9.963 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-322 TJm
+(f) 3.31768 Tj
+10 TJm
+(are) 12.1648 Tj
+-321 TJm
+(much) 22.1378 Tj
+-322 TJm
+(better) 22.6858 Tj
+-321 TJm
+(than) 17.1563 Tj
+-322 TJm
+(pre) 12.7228 Tj
+25 TJm
+(vious) 21.5898 Tj
+-321 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-322 TJm
+(in) 7.75121 Tj
+-321 TJm
+(this) 14.3965 Tj
+-322 TJm
+(respect.) 30.706 Tj
+-1049 TJm
+(The) 15.4925 Tj
+-322 TJm
+(ratio) 18.2622 Tj
+-321 TJm
+(between) 33.1967 Tj
+[1 0 0 1 72 50.852] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.063 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -496.332 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+539.395 50.951 Td
+/F128_0 9.963 Tf
+(6) 4.9815 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 10 10
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 105.519 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -371.59 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.109 749.245 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(w) 7.19329 Tj
+10 TJm
+(orst-case) 35.4085 Tj
+-289 TJm
+(and) 14.3866 Tj
+-290 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(erage-c) 29.3111 Tj
+1 TJm
+(ase) 12.7228 Tj
+-290 TJm
+(compression) 50.363 Tj
+-289 TJm
+(time) 17.7142 Tj
+-289 TJm
+(is) 6.64532 Tj
+-290 TJm
+(in) 7.75121 Tj
+-289 TJm
+(the) 12.1748 Tj
+-290 TJm
+(re) 7.74125 Tj
+15 TJm
+(gion) 17.7142 Tj
+-289 TJm
+(of) 8.29918 Tj
+-289 TJm
+(10:1.) 20.205 Tj
+-857 TJm
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-289 TJm
+(pre) 12.7228 Tj
+25 TJm
+(vious) 21.5898 Tj
+-290 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions,) 30.7159 Tj
+-299 TJm
+(this) 14.3965 Tj
+-289 TJm
+(\002gure) 23.2437 Tj
+-290 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-289 TJm
+(more) 20.474 Tj
+72 698.082 Td
+(lik) 10.5209 Tj
+10 TJm
+(e) 4.42357 Tj
+-250 TJm
+(100:1.) 25.1865 Tj
+-620 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-250 TJm
+(can) 13.8286 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(the) 12.1748 Tj
+[1 0 0 1 186.002 698.082] cm
+0 g
+0 G
+[1 0 0 1 -186.002 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+186.002 698.082 Td
+/F130_0 9.963 Tf
+(-vvvv) 29.889 Tj
+[1 0 0 1 215.89 698.082] cm
+0 g
+0 G
+[1 0 0 1 -215.89 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+218.38 698.082 Td
+/F128_0 9.963 Tf
+(option) 25.4654 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(monitor) 31.5528 Tj
+-250 TJm
+(progress) 33.7546 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(g) 4.9815 Tj
+1 TJm
+(reat) 14.9345 Tj
+-250 TJm
+(detail,) 24.6285 Tj
+-250 TJm
+(if) 6.08739 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant.) 14.6655 Tj
+[1 0 0 1 72 695.925] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -685.963] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 676.164 Td
+/F128_0 9.963 Tf
+(Decompression) 61.9798 Tj
+-250 TJm
+(speed) 22.6858 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(unaf) 17.7043 Tj
+26 TJm
+(fected) 24.3396 Tj
+-250 TJm
+(by) 9.963 Tj
+-250 TJm
+(these) 20.474 Tj
+-250 TJm
+(phenomena.) 48.4202 Tj
+[1 0 0 1 72 674.008] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -664.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 654.247 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 654.247] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -654.247] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.863 654.247 Td
+/F128_0 9.963 Tf
+(usually) 28.7831 Tj
+-298 TJm
+(allocates) 34.8605 Tj
+-299 TJm
+(se) 8.29918 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(eral) 14.9345 Tj
+-298 TJm
+(me) 12.1748 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(abytes) 25.4555 Tj
+-299 TJm
+(of) 8.29918 Tj
+-298 TJm
+(memory) 33.2067 Tj
+-299 TJm
+(to) 7.75121 Tj
+-298 TJm
+(operate) 29.3211 Tj
+-299 TJm
+(in,) 10.242 Tj
+-311 TJm
+(and) 14.3866 Tj
+-298 TJm
+(then) 17.1563 Tj
+-299 TJm
+(char) 17.1463 Tj
+18 TJm
+(ges) 13.2807 Tj
+-298 TJm
+(all) 9.963 Tj
+-299 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-298 TJm
+(it) 5.53943 Tj
+-299 TJm
+(in) 7.75121 Tj
+-298 TJm
+(a) 4.42357 Tj
+-299 TJm
+(f) 3.31768 Tj
+10 TJm
+(airly) 18.2622 Tj
+-299 TJm
+(r) 3.31768 Tj
+1 TJm
+(andom) 27.1193 Tj
+72 642.291 Td
+(f) 3.31768 Tj
+10 TJm
+(ashion.) 28.5041 Tj
+-743 TJm
+(This) 17.7142 Tj
+-270 TJm
+(means) 25.4555 Tj
+-271 TJm
+(t) 2.76971 Tj
+1 TJm
+(hat) 12.1748 Tj
+-271 TJm
+(performance,) 52.8338 Tj
+-275 TJm
+(both) 17.7142 Tj
+-271 TJm
+(for) 11.6169 Tj
+-270 TJm
+(compressing) 50.363 Tj
+-270 TJm
+(and) 14.3866 Tj
+-271 TJm
+(decompressing,) 62.2588 Tj
+-275 TJm
+(is) 6.64532 Tj
+-271 TJm
+(la) 7.19329 Tj
+1 TJm
+(r) 3.31768 Tj
+18 TJm
+(gely) 17.1563 Tj
+-271 TJm
+(determined) 44.8235 Tj
+-270 TJm
+(by) 9.963 Tj
+-271 TJm
+(the) 12.1748 Tj
+-270 TJm
+(speed) 22.6858 Tj
+72 630.336 Td
+(at) 7.19329 Tj
+-294 TJm
+(which) 24.3496 Tj
+-294 TJm
+(your) 18.2622 Tj
+-294 TJm
+(machine) 33.7546 Tj
+-294 TJm
+(can) 13.8286 Tj
+-294 TJm
+(service) 28.2152 Tj
+-294 TJm
+(cache) 22.6758 Tj
+-294 TJm
+(misses.) 29.0621 Tj
+-442 TJm
+(Because) 33.1967 Tj
+-294 TJm
+(of) 8.29918 Tj
+-295 TJm
+(t) 2.76971 Tj
+1 TJm
+(his,) 14.1176 Tj
+-306 TJm
+(smal) 18.8201 Tj
+1 TJm
+(l) 2.76971 Tj
+-295 TJm
+(chang) 23.7916 Tj
+1 TJm
+(es) 8.29918 Tj
+-295 TJm
+(to) 7.75121 Tj
+-294 TJm
+(the) 12.1748 Tj
+-294 TJm
+(code) 18.8101 Tj
+-294 TJm
+(to) 7.75121 Tj
+-294 TJm
+(reduce) 26.5514 Tj
+-294 TJm
+(the) 12.1748 Tj
+-294 TJm
+(miss) 18.2721 Tj
+-294 TJm
+(rate) 14.9345 Tj
+72 618.381 Td
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-253 TJm
+(been) 18.8101 Tj
+-253 TJm
+(observ) 26.5614 Tj
+15 TJm
+(ed) 9.40507 Tj
+-253 TJm
+(to) 7.75121 Tj
+-253 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-253 TJm
+(disproportionately) 73.0587 Tj
+-253 TJm
+(la) 7.19329 Tj
+1 TJm
+(r) 3.31768 Tj
+18 TJm
+(ge) 9.40507 Tj
+-253 TJm
+(performance) 50.343 Tj
+-253 TJm
+(impro) 23.8016 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(ements.) 30.7159 Tj
+-638 TJm
+(I) 3.31768 Tj
+-253 TJm
+(imagine) 32.1008 Tj
+[1 0 0 1 438.909 618.381] cm
+0 g
+0 G
+[1 0 0 1 -438.909 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+438.909 618.381 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 468.797 618.381] cm
+0 g
+0 G
+[1 0 0 1 -468.797 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+471.318 618.381 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-253 TJm
+(perform) 32.0908 Tj
+-253 TJm
+(best) 16.0504 Tj
+72 606.426 Td
+(on) 9.963 Tj
+-250 TJm
+(machines) 37.6303 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+-250 TJm
+(lar) 10.511 Tj
+18 TJm
+(ge) 9.40507 Tj
+-250 TJm
+(c) 4.42357 Tj
+1 TJm
+(aches.) 24.6186 Tj
+[1 0 0 1 72 604.269] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -594.306] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 571.673 Td
+/F121_0 20.659 Tf
+(2.8.) 34.4592 Tj
+-278 TJm
+(CA) 29.8316 Tj
+80 TJm
+(VEA) 42.4749 Tj
+90 TJm
+(TS) 26.4022 Tj
+[1 0 0 1 72 571.415] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -561.452] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 549.755 Td
+/F128_0 9.963 Tf
+(I/O) 13.2807 Tj
+-268 TJm
+(error) 19.3581 Tj
+-267 TJm
+(messages) 37.6303 Tj
+-268 TJm
+(are) 12.1648 Tj
+-267 TJm
+(not) 12.7327 Tj
+-268 TJm
+(as) 8.29918 Tj
+-268 TJm
+(helpful) 28.2252 Tj
+-267 TJm
+(as) 8.29918 Tj
+-268 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-268 TJm
+(could) 22.1378 Tj
+-267 TJm
+(be.) 11.8958 Tj
+[1 0 0 1 293.313 549.755] cm
+0 g
+0 G
+[1 0 0 1 -293.313 -549.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+293.313 549.755 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 323.201 549.755] cm
+0 g
+0 G
+[1 0 0 1 -323.201 -549.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+325.868 549.755 Td
+/F128_0 9.963 Tf
+(tries) 17.1563 Tj
+-268 TJm
+(hard) 17.7043 Tj
+-267 TJm
+(to) 7.75121 Tj
+-268 TJm
+(detect) 23.7916 Tj
+-268 TJm
+(I/O) 13.2807 Tj
+-267 TJm
+(errors) 23.2337 Tj
+-268 TJm
+(and) 14.3866 Tj
+-267 TJm
+(e) 4.42357 Tj
+15 TJm
+(xit) 10.5209 Tj
+-268 TJm
+(cleanly) 28.7731 Tj
+65 TJm
+(,) 2.49075 Tj
+-272 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-268 TJm
+(the) 12.1748 Tj
+72 537.8 Td
+(details) 26.0134 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(what) 19.3681 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(problem) 33.2067 Tj
+-249 TJm
+(is) 6.64532 Tj
+-250 TJm
+(sometimes) 42.6217 Tj
+-250 TJm
+(seem) 20.474 Tj
+-250 TJm
+(rather) 23.2337 Tj
+-250 TJm
+(misleading.) 46.2184 Tj
+[1 0 0 1 72 535.643] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -525.681] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 515.882 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-280 TJm
+(manu) 22.1378 Tj
+1 TJm
+(al) 7.19329 Tj
+-280 TJm
+(page) 18.8101 Tj
+-280 TJm
+(pertains) 31.5429 Tj
+-279 TJm
+(to) 7.75121 Tj
+-280 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-279 TJm
+(1.0.3) 19.926 Tj
+-280 TJm
+(of) 8.29918 Tj
+[1 0 0 1 256.84 515.882] cm
+0 g
+0 G
+[1 0 0 1 -256.84 -515.882] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+256.84 515.882 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 286.727 515.882] cm
+0 g
+0 G
+[1 0 0 1 -286.727 -515.882] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+286.727 515.882 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-798 TJm
+(Compressed) 49.2571 Tj
+-280 TJm
+(da) 9.40507 Tj
+1 TJm
+(ta) 7.19329 Tj
+-280 TJm
+(created) 28.7632 Tj
+-280 TJm
+(by) 9.963 Tj
+-279 TJm
+(this) 14.3965 Tj
+-280 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-279 TJm
+(is) 6.64532 Tj
+-280 TJm
+(entirely) 30.437 Tj
+-280 TJm
+(forw) 18.8101 Tj
+11 TJm
+(ards) 16.5984 Tj
+72 503.927 Td
+(and) 14.3866 Tj
+-294 TJm
+(backw) 26.0034 Tj
+10 TJm
+(ards) 16.5984 Tj
+-294 TJm
+(compatible) 44.2756 Tj
+-295 TJm
+(wit) 12.7327 Tj
+1 TJm
+(h) 4.9815 Tj
+-295 TJm
+(the) 12.1748 Tj
+-294 TJm
+(pre) 12.7228 Tj
+25 TJm
+(vious) 21.5898 Tj
+-294 TJm
+(public) 24.9075 Tj
+-294 TJm
+(releases,) 34.0236 Tj
+-306 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-294 TJm
+(0.1pl2,) 27.6772 Tj
+-305 TJm
+(0.9.0) 19.926 Tj
+-294 TJm
+(and) 14.3866 Tj
+-295 TJm
+(0.9.5,) 22.4168 Tj
+-305 TJm
+(1.0.0,) 22.4168 Tj
+-305 TJm
+(1.0.1) 19.926 Tj
+-295 TJm
+(and) 14.3866 Tj
+-294 TJm
+(1.0.2,) 22.4168 Tj
+72 491.972 Td
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-282 TJm
+(with) 17.7142 Tj
+-283 TJm
+(the) 12.1748 Tj
+-282 TJm
+(follo) 18.8201 Tj
+25 TJm
+(wing) 19.926 Tj
+-282 TJm
+(e) 4.42357 Tj
+15 TJm
+(xception:) 37.0823 Tj
+-375 TJm
+(0.9.0) 19.926 Tj
+-282 TJm
+(and) 14.3866 Tj
+-282 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-283 TJm
+(can) 13.8286 Tj
+-282 TJm
+(correctly) 35.4085 Tj
+-282 TJm
+(decompress) 47.0353 Tj
+-282 TJm
+(multiple) 33.2166 Tj
+-283 TJm
+(concatena) 39.8321 Tj
+1 TJm
+(ted) 12.1748 Tj
+-283 TJm
+(compressed) 47.0353 Tj
+-282 TJm
+(\002les.) 19.0991 Tj
+72 480.017 Td
+(0.1pl2) 25.1865 Tj
+-250 TJm
+(cannot) 26.5614 Tj
+-250 TJm
+(do) 9.963 Tj
+-250 TJm
+(this;) 17.1662 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(will) 15.5024 Tj
+-249 TJm
+(stop) 16.6083 Tj
+-250 TJm
+(after) 18.2522 Tj
+-250 TJm
+(decompressing) 59.768 Tj
+-250 TJm
+(just) 14.3965 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\002rst) 15.5024 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(strea) 18.8101 Tj
+1 TJm
+(m.) 10.242 Tj
+[1 0 0 1 72 477.86] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -467.897] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 458.099 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 143.731 458.099] cm
+0 g
+0 G
+[1 0 0 1 -143.731 -458.099] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+146.174 458.099 Td
+/F128_0 9.963 Tf
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-245 TJm
+(prior) 19.3681 Tj
+-245 TJm
+(to) 7.75121 Tj
+-245 TJm
+(1.0.2) 19.926 Tj
+-245 TJm
+(used) 18.2622 Tj
+-245 TJm
+(32-bit) 23.8016 Tj
+-245 TJm
+(inte) 14.9445 Tj
+15 TJm
+(gers) 16.5984 Tj
+-245 TJm
+(to) 7.75121 Tj
+-246 TJm
+(repre) 20.464 Tj
+1 TJm
+(sent) 16.0504 Tj
+-246 TJm
+(bit) 10.5209 Tj
+-245 TJm
+(positions) 35.9864 Tj
+-245 TJm
+(in) 7.75121 Tj
+-245 TJm
+(compressed) 47.0353 Tj
+-245 TJm
+(\002les,) 19.0991 Tj
+-246 TJm
+(so) 8.85711 Tj
+-245 TJm
+(it) 5.53943 Tj
+-245 TJm
+(could) 22.1378 Tj
+72 446.144 Td
+(not) 12.7327 Tj
+-383 TJm
+(handle) 26.5614 Tj
+-384 TJm
+(compressed) 47.0353 Tj
+-383 TJm
+(\002les) 16.6083 Tj
+-384 TJm
+(more) 20.474 Tj
+-383 TJm
+(than) 17.1563 Tj
+-384 TJm
+(51) 9.963 Tj
+1 TJm
+(2) 4.9815 Tj
+-384 TJm
+(me) 12.1748 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(abytes) 25.4555 Tj
+-383 TJm
+(long.) 20.205 Tj
+-1421 TJm
+(V) 7.19329 Tj
+111 TJm
+(ersions) 28.2252 Tj
+-384 TJm
+(1.0.2) 19.926 Tj
+-383 TJm
+(and) 14.3866 Tj
+-384 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-383 TJm
+(use) 13.2807 Tj
+-384 TJm
+(64-bit) 23.8016 Tj
+-383 TJm
+(ints) 14.3965 Tj
+-384 TJm
+(on) 9.963 Tj
+-383 TJm
+(some) 21.0319 Tj
+72 434.189 Td
+(platforms) 38.1882 Tj
+-245 TJm
+(which) 24.3496 Tj
+-246 TJm
+(su) 8.85711 Tj
+1 TJm
+(pport) 21.0319 Tj
+-246 TJm
+(them) 19.926 Tj
+-245 TJm
+(\(GNU) 24.8975 Tj
+-245 TJm
+(supported) 39.2941 Tj
+-246 TJm
+(tar) 10.511 Tj
+18 TJm
+(gets,) 18.5411 Tj
+-246 TJm
+(and) 14.3866 Tj
+-245 TJm
+(W) 9.40507 Tj
+40 TJm
+(indo) 17.7142 Tj
+25 TJm
+(ws\).) 16.8773 Tj
+-309 TJm
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-245 TJm
+(establish) 34.8705 Tj
+-245 TJm
+(whether) 32.0908 Tj
+-245 TJm
+(or) 8.29918 Tj
+-246 TJm
+(not) 12.7327 Tj
+[1 0 0 1 468.269 434.189] cm
+0 g
+0 G
+[1 0 0 1 -468.269 -434.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+468.269 434.189 Td
+/F130_0 9.963 Tf
+(bzip2recover) 71.7336 Tj
+[1 0 0 1 540 434.189] cm
+0 g
+0 G
+[1 0 0 1 -540 -434.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 422.233 Td
+/F128_0 9.963 Tf
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-255 TJm
+(b) 4.9815 Tj
+20 TJm
+(uilt) 13.2906 Tj
+-255 TJm
+(with) 17.7142 Tj
+-255 TJm
+(such) 18.2622 Tj
+-255 TJm
+(a) 4.42357 Tj
+-255 TJm
+(limitation,) 41.2468 Tj
+-256 TJm
+(run) 13.2807 Tj
+-255 TJm
+(it) 5.53943 Tj
+-255 TJm
+(without) 30.4469 Tj
+-255 TJm
+(ar) 7.74125 Tj
+18 TJm
+(guments.) 36.2554 Tj
+-325 TJm
+(In) 8.29918 Tj
+-255 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-255 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+1 TJm
+(t) 2.76971 Tj
+-255 TJm
+(you) 14.9445 Tj
+-255 TJm
+(can) 13.8286 Tj
+-255 TJm
+(b) 4.9815 Tj
+20 TJm
+(uild) 15.5024 Tj
+-255 TJm
+(yourself) 32.6488 Tj
+-255 TJm
+(an) 9.40507 Tj
+-255 TJm
+(unlimited) 38.1981 Tj
+-255 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-255 TJm
+(if) 6.08739 Tj
+72 410.278 Td
+(you) 14.9445 Tj
+-250 TJm
+(can) 13.8286 Tj
+-250 TJm
+(recompile) 39.842 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(with) 17.7142 Tj
+[1 0 0 1 176.318 410.278] cm
+0 g
+0 G
+[1 0 0 1 -176.318 -410.278] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+176.318 410.278 Td
+/F130_0 9.963 Tf
+(MaybeUInt64) 65.7558 Tj
+[1 0 0 1 242.071 410.278] cm
+0 g
+0 G
+[1 0 0 1 -242.071 -410.278] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+244.562 410.278 Td
+/F128_0 9.963 Tf
+(set) 11.0689 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(an) 9.40507 Tj
+-250 TJm
+(unsigned) 35.9764 Tj
+-250 TJm
+(64-bit) 23.8016 Tj
+-249 TJm
+(inte) 14.9445 Tj
+15 TJm
+(ger) 12.7228 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 408.121] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -398.159] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 375.525 Td
+/F121_0 20.659 Tf
+(2.9.) 34.4592 Tj
+-278 TJm
+(A) 14.9158 Tj
+50 TJm
+(UTHOR) 73.4427 Tj
+[1 0 0 1 72 375.267] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -365.305] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 353.608 Td
+/F128_0 9.963 Tf
+(Julian) 23.8016 Tj
+-250 TJm
+(Se) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(ard,) 15.2135 Tj
+[1 0 0 1 132.801 353.608] cm
+0 g
+0 G
+[1 0 0 1 -132.801 -353.608] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+132.801 353.608 Td
+/F130_0 9.963 Tf
+(jseward@bzip.org) 95.6448 Tj
+[1 0 0 1 228.443 353.608] cm
+0 g
+0 G
+[1 0 0 1 -156.443 -1.564] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -342.081] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 331.69 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-299 TJm
+(ideas) 20.474 Tj
+-300 TJm
+(embodied) 39.2941 Tj
+-299 TJm
+(in) 7.75121 Tj
+[1 0 0 1 166.942 331.69] cm
+0 g
+0 G
+[1 0 0 1 -166.942 -331.69] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+166.942 331.69 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 196.83 331.69] cm
+0 g
+0 G
+[1 0 0 1 -196.83 -331.69] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+199.813 331.69 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+-299 TJm
+(due) 14.3866 Tj
+-300 TJm
+(to) 7.75121 Tj
+-299 TJm
+(\(at) 10.511 Tj
+-300 TJm
+(least\)) 21.5799 Tj
+-299 TJm
+(the) 12.1748 Tj
+-299 TJm
+(follo) 18.8201 Tj
+25 TJm
+(wing) 19.926 Tj
+-300 TJm
+(people:) 29.3311 Tj
+-408 TJm
+(Michael) 32.6488 Tj
+-300 TJm
+(Burro) 23.2437 Tj
+25 TJm
+(ws) 11.0689 Tj
+-299 TJm
+(and) 14.3866 Tj
+-300 TJm
+(D) 7.19329 Tj
+1 TJm
+(a) 4.42357 Tj
+20 TJm
+(vid) 12.7327 Tj
+-300 TJm
+(Wheeler) 33.7447 Tj
+-299 TJm
+(\(for) 14.9345 Tj
+72 319.735 Td
+(the) 12.1748 Tj
+-312 TJm
+(block) 22.1378 Tj
+-313 TJm
+(s) 3.87561 Tj
+1 TJm
+(orting) 23.8016 Tj
+-313 TJm
+(transformati) 48.6991 Tj
+1 TJm
+(on\),) 15.7714 Tj
+-328 TJm
+(Da) 11.6169 Tj
+20 TJm
+(vid) 12.7327 Tj
+-313 TJm
+(Whee) 23.2337 Tj
+1 TJm
+(ler) 10.511 Tj
+-313 TJm
+(\(ag) 12.7228 Tj
+5 TJm
+(ain,) 14.6655 Tj
+-328 TJm
+(for) 11.6169 Tj
+-312 TJm
+(the) 12.1748 Tj
+-312 TJm
+(Huf) 15.4925 Tj
+25 TJm
+(fman) 20.474 Tj
+-312 TJm
+(coder\),) 27.9363 Tj
+-328 TJm
+(Peter) 20.474 Tj
+-312 TJm
+(Fenwick) 34.3126 Tj
+-313 TJm
+(\(for) 14.9345 Tj
+-312 TJm
+(the) 12.1748 Tj
+-312 TJm
+(structured) 39.842 Tj
+72 307.779 Td
+(coding) 27.1193 Tj
+-325 TJm
+(model) 24.9075 Tj
+-326 TJm
+(in) 7.75121 Tj
+-325 TJm
+(the) 12.1748 Tj
+-326 TJm
+(origin) 23.8016 Tj
+1 TJm
+(al) 7.19329 Tj
+[1 0 0 1 191.156 307.779] cm
+0 g
+0 G
+[1 0 0 1 -191.156 -307.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+191.156 307.779 Td
+/F130_0 9.963 Tf
+(bzip) 23.9112 Tj
+[1 0 0 1 215.067 307.779] cm
+0 g
+0 G
+[1 0 0 1 -215.067 -307.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+215.067 307.779 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-344 TJm
+(and) 14.3866 Tj
+-326 TJm
+(man) 17.1563 Tj
+15 TJm
+(y) 4.9815 Tj
+-325 TJm
+(re\002nements\),) 52.2958 Tj
+-344 TJm
+(and) 14.3866 Tj
+-326 TJm
+(Alistair) 29.889 Tj
+-325 TJm
+(Mof) 17.1563 Tj
+25 TJm
+(f) 3.31768 Tj
+10 TJm
+(at,) 9.68404 Tj
+-344 TJm
+(Radford) 32.6488 Tj
+-326 TJm
+(Ne) 11.6169 Tj
+1 TJm
+(al) 7.19329 Tj
+-326 TJm
+(and) 14.3866 Tj
+-325 TJm
+(Ian) 12.7228 Tj
+-326 TJm
+(W) 9.40507 Tj
+40 TJm
+(itten) 17.7142 Tj
+-325 TJm
+(\(for) 14.9345 Tj
+72 295.824 Td
+(the) 12.1748 Tj
+-277 TJm
+(arithmetic) 40.4 Tj
+-277 TJm
+(coder) 22.1278 Tj
+-276 TJm
+(in) 7.75121 Tj
+-277 TJm
+(the) 12.1748 Tj
+-277 TJm
+(original) 30.9949 Tj
+[1 0 0 1 214.171 295.824] cm
+0 g
+0 G
+[1 0 0 1 -214.171 -295.824] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+214.171 295.824 Td
+/F130_0 9.963 Tf
+(bzip) 23.9112 Tj
+[1 0 0 1 238.082 295.824] cm
+0 g
+0 G
+[1 0 0 1 -238.082 -295.824] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+238.082 295.824 Td
+/F128_0 9.963 Tf
+(\).) 5.80843 Tj
+-782 TJm
+(I) 3.31768 Tj
+-276 TJm
+(am) 12.1748 Tj
+-277 TJm
+(much) 22.1378 Tj
+-277 TJm
+(indebted) 34.3126 Tj
+-277 TJm
+(for) 11.6169 Tj
+-277 TJm
+(their) 18.2622 Tj
+-277 TJm
+(help,) 19.647 Tj
+-283 TJm
+(support) 29.889 Tj
+-277 TJm
+(and) 14.3866 Tj
+-277 TJm
+(advice.) 28.4942 Tj
+-781 TJm
+(See) 14.3866 Tj
+-277 TJm
+(the) 12.1748 Tj
+-277 TJm
+(manual) 29.3311 Tj
+72 283.869 Td
+(in) 7.75121 Tj
+-330 TJm
+(the) 12.1748 Tj
+-330 TJm
+(source) 26.0034 Tj
+-329 TJm
+(distrib) 25.4654 Tj
+20 TJm
+(ution) 20.4839 Tj
+-330 TJm
+(for) 11.6169 Tj
+-330 TJm
+(pointers) 32.1008 Tj
+-330 TJm
+(to) 7.75121 Tj
+-330 TJm
+(sour) 17.1563 Tj
+1 TJm
+(ces) 12.7228 Tj
+-330 TJm
+(of) 8.29918 Tj
+-330 TJm
+(documentation.) 61.7108 Tj
+-1099 TJm
+(Christian) 36.5343 Tj
+-330 TJm
+(v) 4.9815 Tj
+20 TJm
+(on) 9.963 Tj
+-330 TJm
+(Roques) 29.889 Tj
+-330 TJm
+(encou) 23.7916 Tj
+1 TJm
+(raged) 22.1278 Tj
+-330 TJm
+(me) 12.1748 Tj
+-330 TJm
+(to) 7.75121 Tj
+-330 TJm
+(look) 17.7142 Tj
+72 271.914 Td
+(for) 11.6169 Tj
+-271 TJm
+(f) 3.31768 Tj
+10 TJm
+(aster) 18.8101 Tj
+-271 TJm
+(sorting) 27.6772 Tj
+-271 TJm
+(algorithms,) 45.1125 Tj
+-276 TJm
+(so) 8.85711 Tj
+-271 TJm
+(as) 8.29918 Tj
+-271 TJm
+(to) 7.75121 Tj
+-271 TJm
+(speed) 22.6858 Tj
+-271 TJm
+(up) 9.963 Tj
+-271 TJm
+(compression.) 52.8537 Tj
+-746 TJm
+(Bela) 18.2622 Tj
+-271 TJm
+(Lubkin) 28.7831 Tj
+-271 TJm
+(encouraged) 45.9195 Tj
+-271 TJm
+(me) 12.1748 Tj
+-271 TJm
+(to) 7.75121 Tj
+-271 TJm
+(impro) 23.8016 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-271 TJm
+(the) 12.1748 Tj
+-271 TJm
+(w) 7.19329 Tj
+10 TJm
+(orst-case) 35.4085 Tj
+72 259.959 Td
+(compression) 50.363 Tj
+-340 TJm
+(performan) 41.4959 Tj
+1 TJm
+(ce.) 11.3379 Tj
+-580 TJm
+(Donna) 26.5614 Tj
+-340 TJm
+(Robinson) 38.1981 Tj
+-340 TJm
+(XMLise) 33.2067 Tj
+1 TJm
+(d) 4.9815 Tj
+-340 TJm
+(the) 12.1748 Tj
+-340 TJm
+(documentation.) 61.7108 Tj
+-580 TJm
+(Man) 18.2622 Tj
+15 TJm
+(y) 4.9815 Tj
+-339 TJm
+(people) 26.5614 Tj
+-340 TJm
+(sent) 16.0504 Tj
+-340 TJm
+(patches,) 32.3698 Tj
+-362 TJm
+(helped) 26.5614 Tj
+-340 TJm
+(with) 17.7142 Tj
+72 248.004 Td
+(portability) 41.5158 Tj
+-250 TJm
+(problems,) 39.573 Tj
+-250 TJm
+(lent) 14.9445 Tj
+-250 TJm
+(m) 7.75121 Tj
+1 TJm
+(achines,) 32.3698 Tj
+-250 TJm
+(g) 4.9815 Tj
+5 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(advice) 26.0034 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(were) 19.3581 Tj
+-250 TJm
+(generally) 37.0723 Tj
+-250 TJm
+(helpful.) 30.7159 Tj
+[1 0 0 1 72 245.847] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -194.995] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.585] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.063 -6.486] cm
+0 g
+0 G
+[1 0 0 1 -496.332 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+539.395 50.951 Td
+/F128_0 9.963 Tf
+(7) 4.9815 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 11 11
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 4.384 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 141.644 0] cm
+0 g
+0 G
+[1 0 0 1 -141.644 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -13.948] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -15.037 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 701.916 Td
+/F121_0 24.79 Tf
+(3.) 20.6749 Tj
+-556 TJm
+(Pr) 26.1782 Tj
+20 TJm
+(ogramming) 134.982 Tj
+-278 TJm
+(with) 49.58 Tj
+[1 0 0 1 330.484 701.916] cm
+0 g
+0 G
+[1 0 0 1 -330.484 -701.916] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+330.484 701.916 Td
+/F387_0 24.79 Tf
+(libbzip2) 118.992 Tj
+[1 0 0 1 449.477 701.916] cm
+0 g
+0 G
+[1 0 0 1 -377.477 -5.516] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -14.944] cm
+0 g
+0 G
+[1 0 0 1 -72 -671.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 656.35 Td
+/F121_0 17.215 Tf
+(T) 10.5184 Tj
+80 TJm
+(ab) 20.0899 Tj
+10 TJm
+(le) 14.3573 Tj
+-278 TJm
+(of) 16.251 Tj
+-278 TJm
+(Contents) 74.5926 Tj
+[1 0 0 1 72 647.528] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.74] cm
+0 g
+0 G
+[1 0 0 1 -72 -635.788] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 635.788 Td
+/F128_0 9.963 Tf
+(3.1.) 14.9445 Tj
+-310 TJm
+(T) 6.08739 Tj
+80 TJm
+(op-le) 20.474 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(structure) 34.8605 Tj
+[1 0 0 1 164.921 635.788] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -169.902 -635.788] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+179.997 635.788 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 635.788] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -635.788] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 635.788 Td
+/F128_0 9.963 Tf
+(8) 4.9815 Tj
+[1 0 0 1 516.09 635.788] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -623.832] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 623.832 Td
+/F128_0 9.963 Tf
+(3.1.1.) 22.4168 Tj
+-310 TJm
+(Lo) 11.0689 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(summary) 37.0823 Tj
+[1 0 0 1 225.195 623.832] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -230.176 -623.832] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+238.915 623.832 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 623.832] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -623.832] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 623.832 Td
+/F128_0 9.963 Tf
+(9) 4.9815 Tj
+[1 0 0 1 516.09 623.832] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -611.877] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 611.877 Td
+/F128_0 9.963 Tf
+(3.1.2.) 22.4168 Tj
+-310 TJm
+(High-le) 30.437 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(summary) 37.0823 Tj
+[1 0 0 1 227.107 611.877] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -232.089 -611.877] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+242.085 611.877 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 611.877] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -611.877] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 611.877 Td
+/F128_0 9.963 Tf
+(9) 4.9815 Tj
+[1 0 0 1 516.09 611.877] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -599.922] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 599.922 Td
+/F128_0 9.963 Tf
+(3.1.3.) 22.4168 Tj
+-310 TJm
+(Utility) 26.0234 Tj
+-250 TJm
+(functions) 37.0823 Tj
+-250 TJm
+(sum) 16.6083 Tj
+1 TJm
+(mary) 20.474 Tj
+[1 0 0 1 250.489 599.922] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -255.471 -599.922] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+264.846 599.922 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 511.108 599.922] cm
+0 g
+0 G
+[1 0 0 1 -511.108 -599.922] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.108 599.922 Td
+/F128_0 9.963 Tf
+(9) 4.9815 Tj
+[1 0 0 1 516.09 599.922] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -587.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 587.967 Td
+/F128_0 9.963 Tf
+(3.2.) 14.9445 Tj
+-310 TJm
+(Error) 21.0219 Tj
+-250 TJm
+(handling) 34.8705 Tj
+[1 0 0 1 148.413 587.967] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -153.394 -587.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+162.611 587.967 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 587.967] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -587.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 587.967 Td
+/F128_0 9.963 Tf
+(10) 9.963 Tj
+[1 0 0 1 516.09 587.967] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -576.012] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 576.012 Td
+/F128_0 9.963 Tf
+(3.3.) 14.9445 Tj
+-310 TJm
+(Lo) 11.0689 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+[1 0 0 1 167.571 576.012] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -172.552 -576.012] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+181.045 576.012 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 576.012] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -576.012] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 576.012 Td
+/F128_0 9.963 Tf
+(11) 9.963 Tj
+[1 0 0 1 516.09 576.012] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -0.1] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -11.855] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -564.057] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 564.057 Td
+/F128_0 9.963 Tf
+(3.3.1.) 22.4168 Tj
+-310 TJm
+(BZ2_bzCompressInit) 85.7914 Tj
+[1 0 0 1 231.112 564.057] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -236.094 -564.057] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+246.025 564.057 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 564.057] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -564.057] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 564.057 Td
+/F128_0 9.963 Tf
+(11) 9.963 Tj
+[1 0 0 1 516.09 564.057] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -552.101] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 552.101 Td
+/F128_0 9.963 Tf
+(3.3.2.) 22.4168 Tj
+-310 TJm
+(BZ2_bzCompress) 71.9528 Tj
+[1 0 0 1 217.275 552.101] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -222.256 -552.101] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+232.464 552.101 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 552.101] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -552.101] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 552.101 Td
+/F128_0 9.963 Tf
+(13) 9.963 Tj
+[1 0 0 1 516.09 552.101] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -540.146] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 540.146 Td
+/F128_0 9.963 Tf
+(3.3.3.) 22.4168 Tj
+-310 TJm
+(BZ2_bzCompressEnd) 88.0032 Tj
+[1 0 0 1 233.324 540.146] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -238.306 -540.146] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+247.131 540.146 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 540.146] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -540.146] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 540.146 Td
+/F128_0 9.963 Tf
+(16) 9.963 Tj
+[1 0 0 1 516.09 540.146] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -528.191] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 528.191 Td
+/F128_0 9.963 Tf
+(3.3.4.) 22.4168 Tj
+-310 TJm
+(BZ2_bzDecompressIni) 92.4168 Tj
+1 TJm
+(t) 2.76971 Tj
+[1 0 0 1 240.507 528.191] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -245.488 -528.191] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+255.15 528.191 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 528.191] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -528.191] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 528.191 Td
+/F128_0 9.963 Tf
+(16) 9.963 Tj
+[1 0 0 1 516.09 528.191] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -516.236] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 516.236 Td
+/F128_0 9.963 Tf
+(3.3.5.) 22.4168 Tj
+-310 TJm
+(BZ2_bzDecompress) 81.3479 Tj
+[1 0 0 1 226.669 516.236] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -231.651 -516.236] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+241.589 516.236 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 516.236] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -516.236] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 516.236 Td
+/F128_0 9.963 Tf
+(17) 9.963 Tj
+[1 0 0 1 516.09 516.236] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -504.281] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 504.281 Td
+/F128_0 9.963 Tf
+(3.3.6.) 22.4168 Tj
+-310 TJm
+(BZ2_bzDecompressEn) 92.4168 Tj
+1 TJm
+(d) 4.9815 Tj
+[1 0 0 1 242.719 504.281] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -247.7 -504.281] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+256.256 504.281 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 504.281] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -504.281] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 504.281 Td
+/F128_0 9.963 Tf
+(18) 9.963 Tj
+[1 0 0 1 516.09 504.281] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -492.326] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 492.326 Td
+/F128_0 9.963 Tf
+(3.4.) 14.9445 Tj
+-310 TJm
+(High-le) 30.437 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+[1 0 0 1 169.483 492.326] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -174.465 -492.326] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+184.216 492.326 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 492.326] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -492.326] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 492.326 Td
+/F128_0 9.963 Tf
+(18) 9.963 Tj
+[1 0 0 1 516.09 492.326] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -480.37] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 480.37 Td
+/F128_0 9.963 Tf
+(3.4.1.) 22.4168 Tj
+-310 TJm
+(BZ2_bzReadOpen) 74.1546 Tj
+[1 0 0 1 219.476 480.37] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -224.458 -480.37] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+233.565 480.37 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 480.37] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -480.37] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 480.37 Td
+/F128_0 9.963 Tf
+(19) 9.963 Tj
+[1 0 0 1 516.09 480.37] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -468.415] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 468.415 Td
+/F128_0 9.963 Tf
+(3.4.2.) 22.4168 Tj
+-310 TJm
+(BZ2_bzRead) 52.5748 Tj
+[1 0 0 1 197.898 468.415] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -202.879 -468.415] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+211.706 468.415 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 468.415] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -468.415] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 468.415 Td
+/F128_0 9.963 Tf
+(20) 9.963 Tj
+[1 0 0 1 516.09 468.415] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.18] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.775] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -456.46] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 456.46 Td
+/F128_0 9.963 Tf
+(3.4.3.) 22.4168 Tj
+-310 TJm
+(BZ2_bzReadGetUnuse) 92.4168 Tj
+1 TJm
+(d) 4.9815 Tj
+[1 0 0 1 242.719 456.46] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -247.7 -456.46] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+256.256 456.46 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 456.46] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -456.46] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 456.46 Td
+/F128_0 9.963 Tf
+(21) 9.963 Tj
+[1 0 0 1 516.09 456.46] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.181] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.774] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -444.505] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 444.505 Td
+/F128_0 9.963 Tf
+(3.4.4.) 22.4168 Tj
+-310 TJm
+(BZ2_bzReadClose) 75.2705 Tj
+[1 0 0 1 220.592 444.505] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -225.573 -444.505] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.123 444.505 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 444.505] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -444.505] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 444.505 Td
+/F128_0 9.963 Tf
+(22) 9.963 Tj
+[1 0 0 1 516.09 444.505] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.181] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.774] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -432.55] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 432.55 Td
+/F128_0 9.963 Tf
+(3.4.5.) 22.4168 Tj
+-310 TJm
+(BZ2_bzWriteOpen) 76.3664 Tj
+[1 0 0 1 221.688 432.55] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -226.669 -432.55] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+236.885 432.55 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 432.55] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -432.55] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 432.55 Td
+/F128_0 9.963 Tf
+(22) 9.963 Tj
+[1 0 0 1 516.09 432.55] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -420.595] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 420.595 Td
+/F128_0 9.963 Tf
+(3.4.6.) 22.4168 Tj
+-310 TJm
+(BZ2_bzWrite) 54.7865 Tj
+[1 0 0 1 200.109 420.595] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -205.09 -420.595] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+215.026 420.595 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 420.595] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -420.595] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 420.595 Td
+/F128_0 9.963 Tf
+(23) 9.963 Tj
+[1 0 0 1 516.09 420.595] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.181] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.775] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -408.639] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 408.639 Td
+/F128_0 9.963 Tf
+(3.4.7.) 22.4168 Tj
+-310 TJm
+(BZ2_bzWriteClose) 77.4823 Tj
+[1 0 0 1 222.804 408.639] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -227.785 -408.639] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+237.443 408.639 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 408.639] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -408.639] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 408.639 Td
+/F128_0 9.963 Tf
+(23) 9.963 Tj
+[1 0 0 1 516.09 408.639] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -1.18] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -10.775] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -396.684] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 396.684 Td
+/F128_0 9.963 Tf
+(3.4.8.) 22.4168 Tj
+-310 TJm
+(Handling) 37.0823 Tj
+-250 TJm
+(embedded) 40.9479 Tj
+-250 TJm
+(com) 17.1563 Tj
+1 TJm
+(pressed) 29.879 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(streams) 30.437 Tj
+[1 0 0 1 327.38 396.684] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -332.362 -396.684] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+342.865 396.684 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 396.684] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -396.684] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 396.684 Td
+/F128_0 9.963 Tf
+(24) 9.963 Tj
+[1 0 0 1 516.09 396.684] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -384.729] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 384.729 Td
+/F128_0 9.963 Tf
+(3.4.9.) 22.4168 Tj
+-310 TJm
+(Standard) 35.4185 Tj
+-250 TJm
+(\002le-reading/) 48.6991 Tj
+1 TJm
+(writing) 28.7831 Tj
+-250 TJm
+(code) 18.8101 Tj
+[1 0 0 1 282.011 384.729] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -286.992 -384.729] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+295.827 384.729 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 384.729] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -384.729] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 384.729 Td
+/F128_0 9.963 Tf
+(25) 9.963 Tj
+[1 0 0 1 516.09 384.729] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -372.774] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 372.774 Td
+/F128_0 9.963 Tf
+(3.5.) 14.9445 Tj
+-310 TJm
+(Utility) 26.0234 Tj
+-250 TJm
+(functions) 37.0823 Tj
+[1 0 0 1 155.625 372.774] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -160.607 -372.774] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+170.645 372.774 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 372.774] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -372.774] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 372.774 Td
+/F128_0 9.963 Tf
+(26) 9.963 Tj
+[1 0 0 1 516.09 372.774] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -360.819] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 360.819 Td
+/F128_0 9.963 Tf
+(3.5.1.) 22.4168 Tj
+-310 TJm
+(BZ2_bzBuf) 47.0453 Tj
+25 TJm
+(fT) 9.40507 Tj
+80 TJm
+(oBuf) 19.926 Tj
+25 TJm
+(fCom) 22.6957 Tj
+1 TJm
+(press) 20.474 Tj
+[1 0 0 1 263.571 360.819] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -268.552 -360.819] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+277.751 360.819 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 360.819] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -360.819] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 360.819 Td
+/F128_0 9.963 Tf
+(26) 9.963 Tj
+[1 0 0 1 516.09 360.819] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -348.864] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 348.864 Td
+/F128_0 9.963 Tf
+(3.5.2.) 22.4168 Tj
+-310 TJm
+(BZ2_bzBuf) 47.0453 Tj
+25 TJm
+(fT) 9.40507 Tj
+80 TJm
+(oBuf) 19.926 Tj
+25 TJm
+(fDeco) 24.3396 Tj
+1 TJm
+(mpress) 28.2252 Tj
+[1 0 0 1 272.965 348.864] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -277.947 -348.864] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+286.876 348.864 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 348.864] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -348.864] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 348.864 Td
+/F128_0 9.963 Tf
+(27) 9.963 Tj
+[1 0 0 1 516.09 348.864] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -72 -336.908] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 336.908 Td
+/F128_0 9.963 Tf
+(3.6.) 14.9445 Tj
+-310 TJm
+(zlib) 14.9445 Tj
+-250 TJm
+(compatibility) 53.1426 Tj
+-250 TJm
+(funct) 20.474 Tj
+1 TJm
+(ions) 16.6083 Tj
+[1 0 0 1 200.178 336.908] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -205.159 -336.908] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+215.06 336.908 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 336.908] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -336.908] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 336.908 Td
+/F128_0 9.963 Tf
+(28) 9.963 Tj
+[1 0 0 1 516.09 336.908] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.156] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.799] cm
+0 g
+0 G
+[1 0 0 1 -72 -324.953] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 324.953 Td
+/F128_0 9.963 Tf
+(3.7.) 14.9445 Tj
+-310 TJm
+(Using) 23.8016 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(library) 26.5614 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(std) 11.6268 Tj
+1 TJm
+(io-free) 26.5514 Tj
+-250 TJm
+(en) 9.40507 Tj
+40 TJm
+(vironment) 40.9579 Tj
+[1 0 0 1 267.824 324.953] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -272.805 -324.953] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+282.092 324.953 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 324.953] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -324.953] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 324.953 Td
+/F128_0 9.963 Tf
+(28) 9.963 Tj
+[1 0 0 1 516.09 324.953] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -312.998] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 312.998 Td
+/F128_0 9.963 Tf
+(3.7.1.) 22.4168 Tj
+-310 TJm
+(Getting) 29.889 Tj
+-250 TJm
+(rid) 11.0689 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(stdio) 19.378 Tj
+[1 0 0 1 221.429 312.998] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -226.41 -312.998] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+236.755 312.998 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 312.998] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -312.998] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 312.998 Td
+/F128_0 9.963 Tf
+(29) 9.963 Tj
+[1 0 0 1 516.09 312.998] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 47.821 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -301.043] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 301.043 Td
+/F128_0 9.963 Tf
+(3.7.2.) 22.4168 Tj
+-310 TJm
+(Critical) 29.889 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(handlin) 29.889 Tj
+1 TJm
+(g) 4.9815 Tj
+[1 0 0 1 234.42 301.043] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -239.401 -301.043] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+249.892 301.043 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 301.043] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -301.043] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 301.043 Td
+/F128_0 9.963 Tf
+(29) 9.963 Tj
+[1 0 0 1 516.09 301.043] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -289.088] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 289.088 Td
+/F128_0 9.963 Tf
+(3.8.) 14.9445 Tj
+-310 TJm
+(Making) 30.9949 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(W) 9.40507 Tj
+40 TJm
+(indo) 17.7142 Tj
+25 TJm
+(ws) 11.0689 Tj
+-250 TJm
+(DLL) 19.3681 Tj
+[1 0 0 1 189.827 289.088] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -194.809 -289.088] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+203.243 289.088 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 289.088] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -289.088] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 289.088 Td
+/F128_0 9.963 Tf
+(29) 9.963 Tj
+[1 0 0 1 516.09 289.088] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -267.006] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 257.207 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-250 TJm
+(chapter) 29.3211 Tj
+-250 TJm
+(describes) 37.0723 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(pr) 8.29918 Tj
+1 TJm
+(ogramming) 45.9394 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 282.448 257.207] cm
+0 g
+0 G
+[1 0 0 1 -282.448 -257.207] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+282.448 257.207 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 330.269 257.207] cm
+0 g
+0 G
+[1 0 0 1 -330.269 -257.207] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+330.269 257.207 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 255.05] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -245.088] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 235.289 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-273 TJm
+(general) 29.3211 Tj
+-272 TJm
+(background) 47.0353 Tj
+-273 TJm
+(informati) 37.0823 Tj
+1 TJm
+(on,) 12.4538 Tj
+-279 TJm
+(particularly) 45.9294 Tj
+-272 TJm
+(about) 22.1378 Tj
+-273 TJm
+(memory) 33.2067 Tj
+-272 TJm
+(use) 13.2807 Tj
+-273 TJm
+(and) 14.3866 Tj
+-273 TJm
+(perfor) 24.3396 Tj
+1 TJm
+(mance) 26.0034 Tj
+-273 TJm
+(aspects,) 31.2639 Tj
+-278 TJm
+(you') 18.2622 Tj
+50 TJm
+(d) 4.9815 Tj
+-273 TJm
+(be) 9.40507 Tj
+-272 TJm
+(well) 17.1563 Tj
+-273 TJm
+(advised) 30.437 Tj
+72 223.334 Td
+(to) 7.75121 Tj
+-250 TJm
+(read) 17.1463 Tj
+[1 0 0 1 101.878 223.334] cm
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -101.878 -223.334] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+101.878 223.334 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 171.636 223.334] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -171.636 -223.334] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+174.126 223.334 Td
+/F128_0 9.963 Tf
+([2]) 11.6169 Tj
+[1 0 0 1 185.743 223.334] cm
+0 0 1 rg
+0 0 1 RG
+0 g
+0 G
+[1 0 0 1 -185.743 -223.334] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+188.233 223.334 Td
+/F128_0 9.963 Tf
+(as) 8.29918 Tj
+-250 TJm
+(well.) 19.647 Tj
+[1 0 0 1 72 221.177] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -211.215] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 188.581 Td
+/F121_0 20.659 Tf
+(3.1.) 34.4592 Tj
+-278 TJm
+(T) 12.6226 Tj
+80 TJm
+(op-le) 49.3544 Tj
+15 TJm
+(vel) 28.716 Tj
+-278 TJm
+(structure) 89.5361 Tj
+[1 0 0 1 72 184.305] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -174.343] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 166.664 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 119.821 166.664] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -166.664] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+123.608 166.664 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-380 TJm
+(a) 4.42357 Tj
+-380 TJm
+(\003e) 9.963 Tj
+15 TJm
+(xible) 19.926 Tj
+-380 TJm
+(library) 26.5614 Tj
+-380 TJm
+(for) 11.6169 Tj
+-381 TJm
+(com) 17.1563 Tj
+1 TJm
+(pressing) 33.2067 Tj
+-381 TJm
+(an) 9.40507 Tj
+1 TJm
+(d) 4.9815 Tj
+-381 TJm
+(decompre) 39.2841 Tj
+1 TJm
+(ssing) 20.4839 Tj
+-381 TJm
+(data) 16.5984 Tj
+-380 TJm
+(in) 7.75121 Tj
+-380 TJm
+(the) 12.1748 Tj
+[1 0 0 1 405.291 166.664] cm
+0 g
+0 G
+[1 0 0 1 -405.291 -166.664] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+405.291 166.664 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 435.179 166.664] cm
+0 g
+0 G
+[1 0 0 1 -435.179 -166.664] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+438.966 166.664 Td
+/F128_0 9.963 Tf
+(data) 16.5984 Tj
+-380 TJm
+(format.) 29.0521 Tj
+-1401 TJm
+(Although) 37.6402 Tj
+72 154.708 Td
+(packaged) 37.6203 Tj
+-285 TJm
+(as) 8.29918 Tj
+-284 TJm
+(a) 4.42357 Tj
+-285 TJm
+(single) 23.8016 Tj
+-284 TJm
+(entity) 22.6957 Tj
+65 TJm
+(,) 2.49075 Tj
+-294 TJm
+(it) 5.53943 Tj
+-284 TJm
+(helps) 21.0319 Tj
+-285 TJm
+(to) 7.75121 Tj
+-285 TJm
+(re) 7.74125 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(ard) 12.7228 Tj
+-284 TJm
+(the) 12.1748 Tj
+-285 TJm
+(library) 26.5614 Tj
+-285 TJm
+(a) 4.42357 Tj
+1 TJm
+(s) 3.87561 Tj
+-285 TJm
+(three) 19.916 Tj
+-285 TJm
+(separate) 32.6388 Tj
+-284 TJm
+(parts:) 22.1378 Tj
+-380 TJm
+(the) 12.1748 Tj
+-284 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w) 7.19329 Tj
+-285 TJm
+(le) 7.19329 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-285 TJm
+(i) 2.76971 Tj
+1 TJm
+(nterf) 18.8101 Tj
+10 TJm
+(ace,) 15.7615 Tj
+-294 TJm
+(and) 14.3866 Tj
+-284 TJm
+(the) 12.1748 Tj
+-285 TJm
+(high) 17.7142 Tj
+72 142.753 Td
+(le) 7.19329 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace,) 15.7615 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(some) 21.0319 Tj
+-250 TJm
+(uti) 10.5209 Tj
+1 TJm
+(lity) 13.2906 Tj
+-250 TJm
+(functions.) 39.573 Tj
+[1 0 0 1 72 140.596] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -130.634] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 120.835 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-349 TJm
+(structure) 34.8605 Tj
+-349 TJm
+(of) 8.29918 Tj
+[1 0 0 1 141.082 120.835] cm
+0 g
+0 G
+[1 0 0 1 -141.082 -120.835] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+141.082 120.835 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 188.903 120.835] cm
+0 g
+0 G
+[1 0 0 1 -188.903 -120.835] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+188.903 120.835 Td
+/F128_0 9.963 Tf
+(') 3.31768 Tj
+55 TJm
+(s) 3.87561 Tj
+-349 TJm
+(interf) 21.5799 Tj
+10 TJm
+(aces) 17.1463 Tj
+-349 TJm
+(is) 6.64532 Tj
+-349 TJm
+(similar) 27.6772 Tj
+-349 TJm
+(to) 7.75121 Tj
+-349 TJm
+(that) 14.9445 Tj
+-349 TJm
+(of) 8.29918 Tj
+-349 TJm
+(Jean-loup) 38.7361 Tj
+-349 TJm
+(Gailly') 28.2252 Tj
+55 TJm
+(s) 3.87561 Tj
+-349 TJm
+(an) 9.40507 Tj
+1 TJm
+(d) 4.9815 Tj
+-350 TJm
+(M) 8.85711 Tj
+1 TJm
+(ark) 12.7228 Tj
+-349 TJm
+(Adler') 26.0034 Tj
+55 TJm
+(s) 3.87561 Tj
+-349 TJm
+(e) 4.42357 Tj
+15 TJm
+(xcellent) 31.5429 Tj
+[1 0 0 1 516.09 120.835] cm
+0 g
+0 G
+[1 0 0 1 -516.09 -120.835] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+516.09 120.835 Td
+/F130_0 9.963 Tf
+(zlib) 23.9112 Tj
+[1 0 0 1 540 120.835] cm
+0 g
+0 G
+[1 0 0 1 -540 -120.835] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 108.88 Td
+/F128_0 9.963 Tf
+(library) 26.5614 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 106.723] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -96.761] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 86.962 Td
+/F128_0 9.963 Tf
+(All) 12.7327 Tj
+-242 TJm
+(e) 4.42357 Tj
+15 TJm
+(xternally) 35.4185 Tj
+-241 TJm
+(visible) 26.5713 Tj
+-242 TJm
+(symbols) 33.2166 Tj
+-242 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-241 TJm
+(names) 25.4555 Tj
+-242 TJm
+(be) 9.40507 Tj
+15 TJm
+(ginning) 30.4469 Tj
+[1 0 0 1 284.687 86.962] cm
+0 g
+0 G
+[1 0 0 1 -284.687 -86.962] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+284.687 86.962 Td
+/F130_0 9.963 Tf
+(BZ2_) 23.9112 Tj
+[1 0 0 1 308.597 86.962] cm
+0 g
+0 G
+[1 0 0 1 -308.597 -86.962] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+308.597 86.962 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-615 TJm
+(T) 6.08739 Tj
+1 TJm
+(his) 11.6268 Tj
+-242 TJm
+(is) 6.64532 Tj
+-242 TJm
+(ne) 9.40507 Tj
+25 TJm
+(w) 7.19329 Tj
+-242 TJm
+(in) 7.75121 Tj
+-241 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-242 TJm
+(1.0.) 14.9445 Tj
+-615 TJm
+(The) 15.4925 Tj
+-241 TJm
+(intention) 35.4284 Tj
+-242 TJm
+(is) 6.64532 Tj
+-242 TJm
+(to) 7.75121 Tj
+-241 TJm
+(minimise) 37.0922 Tj
+72 75.007 Td
+(pollution) 35.9864 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(namespaces) 47.5833 Tj
+-249 TJm
+(of) 8.29918 Tj
+-250 TJm
+(library) 26.5614 Tj
+-250 TJm
+(clients.) 28.5041 Tj
+[1 0 0 1 72 72.85] cm
+0 g
+0 G
+[1 0 0 1 0 -21.998] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 4.384 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.064 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -498.225 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+541.288 50.951 Td
+/F128_0 9.963 Tf
+(8) 4.9815 Tj
+[1 0 0 1 455.161 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.599 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -15.037 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 12 12
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 4.384 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -352.044 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+436.124 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip) 27.6772 Tj
+1 TJm
+(2) 4.9815 Tj
+[1 0 0 1 267.964 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -15.037 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-250 TJm
+(part) 15.4925 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(yo) 9.963 Tj
+1 TJm
+(u) 4.9815 Tj
+-250 TJm
+(need) 18.8101 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 240.567 710.037] cm
+0 g
+0 G
+[1 0 0 1 -240.567 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+240.567 710.037 Td
+/F130_0 9.963 Tf
+(#include) 47.8224 Tj
+-600 TJm
+(<bzlib.h>) 53.8002 Tj
+[1 0 0 1 348.163 710.037] cm
+0 g
+0 G
+[1 0 0 1 -348.163 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+350.654 710.037 Td
+/F128_0 9.963 Tf
+(into) 15.5024 Tj
+-250 TJm
+(your) 18.2622 Tj
+-250 TJm
+(sources.) 32.3698 Tj
+[1 0 0 1 72 707.881] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -697.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 679.416 Td
+/F121_0 17.215 Tf
+(3.1.1.) 43.0719 Tj
+-278 TJm
+(Lo) 21.0367 Tj
+15 TJm
+(w-le) 33.4832 Tj
+15 TJm
+(vel) 23.9289 Tj
+-278 TJm
+(summar) 66.9664 Tj
+-10 TJm
+(y) 9.57154 Tj
+[1 0 0 1 72 675.853] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -665.89] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 657.498 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-212 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+-212 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vides) 21.0319 Tj
+-211 TJm
+(services) 32.0908 Tj
+-212 TJm
+(for) 11.6169 Tj
+-212 TJm
+(compressing) 50.363 Tj
+-212 TJm
+(and) 14.3866 Tj
+-212 TJm
+(decompressi) 49.805 Tj
+1 TJm
+(ng) 9.963 Tj
+-212 TJm
+(data) 16.5984 Tj
+-212 TJm
+(in) 7.75121 Tj
+-212 TJm
+(memory) 33.2067 Tj
+65 TJm
+(.) 2.49075 Tj
+-595 TJm
+(There') 26.5514 Tj
+55 TJm
+(s) 3.87561 Tj
+-211 TJm
+(no) 9.963 Tj
+-212 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vision) 24.3595 Tj
+-212 TJm
+(for) 11.6169 Tj
+-212 TJm
+(dealing) 29.3311 Tj
+72 645.543 Td
+(with) 17.7142 Tj
+-213 TJm
+(\002les,) 19.0991 Tj
+-220 TJm
+(streams) 30.437 Tj
+-213 TJm
+(or) 8.29918 Tj
+-213 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-213 TJm
+(other) 20.474 Tj
+-213 TJm
+(I/O) 13.2807 Tj
+-213 TJm
+(mechanisms,) 51.7478 Tj
+-220 TJm
+(just) 14.3965 Tj
+-213 TJm
+(straight) 29.889 Tj
+-213 TJm
+(memory-to-memory) 80.7999 Tj
+-213 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork.) 15.7714 Tj
+-595 TJm
+(In) 8.29918 Tj
+-213 TJm
+(f) 3.31768 Tj
+10 TJm
+(act,) 14.1076 Tj
+-220 TJm
+(this) 14.3965 Tj
+-213 TJm
+(part) 15.4925 Tj
+-213 TJm
+(of) 8.29918 Tj
+-213 TJm
+(the) 12.1748 Tj
+-213 TJm
+(library) 26.5614 Tj
+72 633.588 Td
+(can) 13.8286 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(compiled) 37.0823 Tj
+-250 TJm
+(without) 30.4469 Tj
+-250 TJm
+(incl) 14.9445 Tj
+1 TJm
+(usion) 21.5898 Tj
+-250 TJm
+(of) 8.29918 Tj
+[1 0 0 1 222.534 633.588] cm
+0 g
+0 G
+[1 0 0 1 -222.534 -633.588] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+222.534 633.588 Td
+/F130_0 9.963 Tf
+(stdio.h) 41.8446 Tj
+[1 0 0 1 264.377 633.588] cm
+0 g
+0 G
+[1 0 0 1 -264.377 -633.588] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+264.377 633.588 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(may) 17.1563 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(helpful) 28.2252 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(emb) 17.1563 Tj
+1 TJm
+(edded) 23.7916 Tj
+-250 TJm
+(applications.) 50.6419 Tj
+[1 0 0 1 72 631.431] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -621.469] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 611.67 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-250 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(part) 15.4925 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(libra) 18.2622 Tj
+1 TJm
+(ry) 8.29918 Tj
+-250 TJm
+(has) 13.2807 Tj
+-250 TJm
+(no) 9.963 Tj
+-250 TJm
+(global) 24.9075 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(ariables) 30.9849 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(therefore) 35.9565 Tj
+-250 TJm
+(thread-safe.) 46.7464 Tj
+[1 0 0 1 72 609.513] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -599.551] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 589.752 Td
+/F128_0 9.963 Tf
+(Six) 13.2906 Tj
+-875 TJm
+(routines) 32.1008 Tj
+-876 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-875 TJm
+(up) 9.963 Tj
+-875 TJm
+(the) 12.1748 Tj
+-876 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w) 7.19329 Tj
+-875 TJm
+(le) 7.19329 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-875 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace:) 16.0404 Tj
+[1 0 0 1 308.791 589.752] cm
+0 g
+0 G
+[1 0 0 1 -308.791 -589.752] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+308.791 589.752 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 416.387 589.752] cm
+0 g
+0 G
+[1 0 0 1 -416.387 -589.752] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+416.387 589.752 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 429.158 589.752] cm
+0 g
+0 G
+[1 0 0 1 -429.158 -589.752] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+429.158 589.752 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 512.844 589.752] cm
+0 g
+0 G
+[1 0 0 1 -512.844 -589.752] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+512.844 589.752 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-1032 TJm
+(and) 14.3866 Tj
+[1 0 0 1 72 577.797] cm
+0 g
+0 G
+[1 0 0 1 -72 -577.797] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 577.797 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressEnd) 101.623 Tj
+[1 0 0 1 173.619 577.797] cm
+0 g
+0 G
+[1 0 0 1 -173.619 -577.797] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+186.15 577.797 Td
+/F128_0 9.963 Tf
+(for) 11.6169 Tj
+-1258 TJm
+(compression,) 52.8537 Tj
+-1509 TJm
+(and) 14.3866 Tj
+-1258 TJm
+(a) 4.42357 Tj
+-1258 TJm
+(correspond) 44.2656 Tj
+1 TJm
+(ing) 12.7327 Tj
+-1258 TJm
+(trio) 13.8386 Tj
+[1 0 0 1 417.958 577.797] cm
+0 g
+0 G
+[1 0 0 1 -417.958 -577.797] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+417.958 577.797 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressInit) 119.556 Tj
+[1 0 0 1 537.509 577.797] cm
+0 g
+0 G
+[1 0 0 1 -537.509 -577.797] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+537.509 577.797 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 72 565.842] cm
+0 g
+0 G
+[1 0 0 1 -72 -565.842] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 565.842 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 167.641 565.842] cm
+0 g
+0 G
+[1 0 0 1 -167.641 -565.842] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+172.707 565.842 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 192.158 565.842] cm
+0 g
+0 G
+[1 0 0 1 -192.158 -565.842] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+192.158 565.842 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressEnd) 113.578 Tj
+[1 0 0 1 305.732 565.842] cm
+0 g
+0 G
+[1 0 0 1 -305.732 -565.842] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+310.798 565.842 Td
+/F128_0 9.963 Tf
+(for) 11.6169 Tj
+-508 TJm
+(decompression.) 62.2588 Tj
+-2171 TJm
+(The) 15.4925 Tj
+[1 0 0 1 431.918 565.842] cm
+0 g
+0 G
+[1 0 0 1 -431.918 -565.842] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+431.918 565.842 Td
+/F130_0 9.963 Tf
+(*Init) 29.889 Tj
+[1 0 0 1 461.805 565.842] cm
+0 g
+0 G
+[1 0 0 1 -461.805 -565.842] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+466.871 565.842 Td
+/F128_0 9.963 Tf
+(functions) 37.0823 Tj
+-508 TJm
+(allocate) 30.9849 Tj
+72 553.887 Td
+(memory) 33.2067 Tj
+-574 TJm
+(f) 3.31768 Tj
+1 TJm
+(or) 8.29918 Tj
+-574 TJm
+(compression/decompression) 112.901 Tj
+-573 TJm
+(and) 14.3866 Tj
+-574 TJm
+(do) 9.963 Tj
+-573 TJm
+(other) 20.474 Tj
+-574 TJm
+(initialisations,) 56.1913 Tj
+-654 TJm
+(whilst) 24.3595 Tj
+-574 TJm
+(the) 12.1748 Tj
+[1 0 0 1 419.503 553.887] cm
+0 g
+0 G
+[1 0 0 1 -419.503 -553.887] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+419.503 553.887 Td
+/F130_0 9.963 Tf
+(*End) 23.9112 Tj
+[1 0 0 1 443.413 553.887] cm
+0 g
+0 G
+[1 0 0 1 -443.413 -553.887] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+449.128 553.887 Td
+/F128_0 9.963 Tf
+(functions) 37.0823 Tj
+-573 TJm
+(close) 20.474 Tj
+-574 TJm
+(do) 9.963 Tj
+25 TJm
+(wn) 12.1748 Tj
+72 541.932 Td
+(operations) 41.5059 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(release) 27.6573 Tj
+-250 TJm
+(mem) 19.926 Tj
+1 TJm
+(ory) 13.2807 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 539.775] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -529.812] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 520.014 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-303 TJm
+(real) 14.9345 Tj
+-303 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-303 TJm
+(is) 6.64532 Tj
+-303 TJm
+(done) 19.3681 Tj
+-303 TJm
+(by) 9.963 Tj
+[1 0 0 1 176.892 520.014] cm
+0 g
+0 G
+[1 0 0 1 -176.892 -520.014] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+176.892 520.014 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 260.578 520.014] cm
+0 g
+0 G
+[1 0 0 1 -260.578 -520.014] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+263.598 520.014 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 281.003 520.014] cm
+0 g
+0 G
+[1 0 0 1 -281.003 -520.014] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+281.003 520.014 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 376.645 520.014] cm
+0 g
+0 G
+[1 0 0 1 -376.645 -520.014] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+376.645 520.014 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-938 TJm
+(These) 23.7916 Tj
+-303 TJm
+(compress) 37.6303 Tj
+-303 TJm
+(and) 14.3866 Tj
+-303 TJm
+(decompress) 47.0353 Tj
+-303 TJm
+(data) 16.5984 Tj
+72 508.059 Td
+(from) 19.3681 Tj
+-205 TJm
+(a) 4.42357 Tj
+-205 TJm
+(user) 16.5984 Tj
+20 TJm
+(-supplied) 37.0823 Tj
+-205 TJm
+(input) 20.4839 Tj
+-205 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-205 TJm
+(to) 7.75121 Tj
+-205 TJm
+(a) 4.42357 Tj
+-206 TJm
+(use) 13.2807 Tj
+1 TJm
+(r) 3.31768 Tj
+20 TJm
+(-supplied) 37.0823 Tj
+-205 TJm
+(output) 25.4654 Tj
+-206 TJm
+(b) 4.9815 Tj
+20 TJm
+(u) 4.9815 Tj
+1 TJm
+(f) 3.31768 Tj
+25 TJm
+(fer) 11.0589 Tj
+55 TJm
+(.) 2.49075 Tj
+-591 TJm
+(T) 6.08739 Tj
+1 TJm
+(hese) 17.7043 Tj
+-206 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+1 TJm
+(s) 3.87561 Tj
+-206 TJm
+(can) 13.8286 Tj
+-205 TJm
+(be) 9.40507 Tj
+-205 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-205 TJm
+(size;) 18.2622 Tj
+-220 TJm
+(arbitrary) 34.3026 Tj
+-205 TJm
+(quantities) 38.7461 Tj
+-205 TJm
+(of) 8.29918 Tj
+72 496.104 Td
+(data) 16.5984 Tj
+-258 TJm
+(are) 12.1648 Tj
+-258 TJm
+(handl) 22.1378 Tj
+1 TJm
+(ed) 9.40507 Tj
+-258 TJm
+(by) 9.963 Tj
+-258 TJm
+(making) 29.889 Tj
+-258 TJm
+(repeated) 33.7447 Tj
+-258 TJm
+(cal) 11.6169 Tj
+1 TJm
+(ls) 6.64532 Tj
+-258 TJm
+(to) 7.75121 Tj
+-258 TJm
+(these) 20.474 Tj
+-258 TJm
+(functions.) 39.573 Tj
+-667 TJm
+(This) 17.7142 Tj
+-258 TJm
+(is) 6.64532 Tj
+-257 TJm
+(a) 4.42357 Tj
+-258 TJm
+(\003e) 9.963 Tj
+15 TJm
+(xible) 19.926 Tj
+-258 TJm
+(mechanism) 45.3815 Tj
+-258 TJm
+(allo) 14.9445 Tj
+25 TJm
+(wing) 19.926 Tj
+-257 TJm
+(a) 4.42357 Tj
+-258 TJm
+(consumer) 38.7361 Tj
+20 TJm
+(-pull) 18.8201 Tj
+72 484.148 Td
+(style) 18.8201 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(acti) 14.3866 Tj
+25 TJm
+(vity) 15.5024 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(producer) 35.4085 Tj
+20 TJm
+(-p) 8.29918 Tj
+1 TJm
+(ush,) 16.3294 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(mixture) 30.9949 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(both.) 20.205 Tj
+[1 0 0 1 72 481.992] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -472.029] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 453.527 Td
+/F121_0 17.215 Tf
+(3.1.2.) 43.0719 Tj
+-278 TJm
+(High-le) 58.3416 Tj
+15 TJm
+(vel) 23.9289 Tj
+-278 TJm
+(summar) 66.9664 Tj
+-10 TJm
+(y) 9.57154 Tj
+[1 0 0 1 72 449.697] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -439.734] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 431.609 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-284 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+-284 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vides) 21.0319 Tj
+-284 TJm
+(some) 21.0319 Tj
+-284 TJm
+(handy) 24.3496 Tj
+-284 TJm
+(wrappers) 36.5144 Tj
+-284 TJm
+(around) 27.6673 Tj
+-284 TJm
+(the) 12.1748 Tj
+-285 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w-l) 13.2807 Tj
+1 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-285 TJm
+(interf) 21.5799 Tj
+10 TJm
+(a) 4.42357 Tj
+1 TJm
+(ce) 8.84714 Tj
+-285 TJm
+(to) 7.75121 Tj
+-284 TJm
+(f) 3.31768 Tj
+10 TJm
+(acilitate) 31.5429 Tj
+-284 TJm
+(reading) 29.879 Tj
+-284 TJm
+(and) 14.3866 Tj
+-284 TJm
+(writing) 28.7831 Tj
+[1 0 0 1 510.112 431.609] cm
+0 g
+0 G
+[1 0 0 1 -510.112 -431.609] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+510.112 431.609 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 540 431.609] cm
+0 g
+0 G
+[1 0 0 1 -540 -431.609] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 419.654 Td
+/F128_0 9.963 Tf
+(format) 26.5614 Tj
+-346 TJm
+(\002les) 16.6083 Tj
+-347 TJm
+(\() 3.31768 Tj
+[1 0 0 1 125.391 419.654] cm
+0 g
+0 G
+[1 0 0 1 -125.391 -419.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+125.391 419.654 Td
+/F130_0 9.963 Tf
+(.bz2) 23.9112 Tj
+[1 0 0 1 149.301 419.654] cm
+0 g
+0 G
+[1 0 0 1 -149.301 -419.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+152.754 419.654 Td
+/F128_0 9.963 Tf
+(\002les\).) 22.4168 Tj
+-1199 TJm
+(The) 15.4925 Tj
+-347 TJm
+(routines) 32.1008 Tj
+-346 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vide) 17.1563 Tj
+-347 TJm
+(hooks) 23.8016 Tj
+-346 TJm
+(to) 7.75121 Tj
+-347 TJm
+(f) 3.31768 Tj
+10 TJm
+(acilitate) 31.5429 Tj
+-346 TJm
+(reading) 29.879 Tj
+-347 TJm
+(\002les) 16.6083 Tj
+-346 TJm
+(in) 7.75121 Tj
+-347 TJm
+(which) 24.3496 Tj
+-346 TJm
+(the) 12.1748 Tj
+[1 0 0 1 460.049 419.654] cm
+0 g
+0 G
+[1 0 0 1 -460.049 -419.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+460.049 419.654 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 489.937 419.654] cm
+0 g
+0 G
+[1 0 0 1 -489.937 -419.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+493.39 419.654 Td
+/F128_0 9.963 Tf
+(data) 16.5984 Tj
+-346 TJm
+(stream) 26.5614 Tj
+72 407.699 Td
+(is) 6.64532 Tj
+-339 TJm
+(embedded) 40.9479 Tj
+-339 TJm
+(within) 25.4654 Tj
+-339 TJm
+(some) 21.0319 Tj
+-339 TJm
+(lar) 10.511 Tj
+18 TJm
+(ger) 12.7228 Tj
+20 TJm
+(-scale) 23.2337 Tj
+-339 TJm
+(\002le) 12.7327 Tj
+-339 TJm
+(st) 6.64532 Tj
+1 TJm
+(ructure,) 30.706 Tj
+-362 TJm
+(or) 8.29918 Tj
+-339 TJm
+(where) 24.3396 Tj
+-339 TJm
+(there) 19.916 Tj
+-339 TJm
+(are) 12.1648 Tj
+-339 TJm
+(m) 7.75121 Tj
+1 TJm
+(ultiple) 25.4654 Tj
+[1 0 0 1 400.941 407.699] cm
+0 g
+0 G
+[1 0 0 1 -400.941 -407.699] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+400.941 407.699 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 430.829 407.699] cm
+0 g
+0 G
+[1 0 0 1 -430.829 -407.699] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.207 407.699 Td
+/F128_0 9.963 Tf
+(data) 16.5984 Tj
+-339 TJm
+(streams) 30.437 Tj
+-339 TJm
+(concatenated) 52.0069 Tj
+72 395.744 Td
+(end-to-end.) 45.6505 Tj
+[1 0 0 1 72 395.644] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -385.682] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 373.826 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-332 TJm
+(reading) 29.879 Tj
+-333 TJm
+(\002) 5.53943 Tj
+1 TJm
+(les,) 13.5596 Tj
+[1 0 0 1 144.803 373.826] cm
+0 g
+0 G
+[1 0 0 1 -144.803 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+144.803 373.826 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadOpen) 83.6892 Tj
+[1 0 0 1 228.489 373.826] cm
+0 g
+0 G
+[1 0 0 1 -228.489 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+228.489 373.826 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 234.496 373.826] cm
+0 g
+0 G
+[1 0 0 1 -234.496 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.496 373.826 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 294.272 373.826] cm
+0 g
+0 G
+[1 0 0 1 -294.272 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+294.272 373.826 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 300.279 373.826] cm
+0 g
+0 G
+[1 0 0 1 -300.279 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+300.279 373.826 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 389.942 373.826] cm
+0 g
+0 G
+[1 0 0 1 -389.942 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+393.253 373.826 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 410.951 373.826] cm
+0 g
+0 G
+[1 0 0 1 -410.951 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+410.951 373.826 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadGetUnused) 113.578 Tj
+[1 0 0 1 524.525 373.826] cm
+0 g
+0 G
+[1 0 0 1 -524.525 -373.826] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+527.836 373.826 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+72 361.871 Td
+(supplied.) 36.2554 Tj
+-620 TJm
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-250 TJm
+(writing) 28.7831 Tj
+-250 TJm
+(\002les,) 19.0991 Tj
+[1 0 0 1 183.471 361.871] cm
+0 g
+0 G
+[1 0 0 1 -183.471 -361.871] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+183.471 361.871 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteOpen) 89.667 Tj
+[1 0 0 1 273.135 361.871] cm
+0 g
+0 G
+[1 0 0 1 -273.135 -361.871] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+273.135 361.871 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 278.116 361.871] cm
+0 g
+0 G
+[1 0 0 1 -278.116 -361.871] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+278.116 361.871 Td
+/F130_0 9.963 Tf
+(BZ2_bzWrite) 65.7558 Tj
+[1 0 0 1 343.869 361.871] cm
+0 g
+0 G
+[1 0 0 1 -343.869 -361.871] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+346.36 361.871 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 363.237 361.871] cm
+0 g
+0 G
+[1 0 0 1 -363.237 -361.871] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+363.237 361.871 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteFinish) 101.623 Tj
+[1 0 0 1 464.856 361.871] cm
+0 g
+0 G
+[1 0 0 1 -464.856 -361.871] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+467.346 361.871 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+-250 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailable.) 29.0521 Tj
+[1 0 0 1 72 359.714] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -349.752] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 339.953 Td
+/F128_0 9.963 Tf
+(As) 11.0689 Tj
+-374 TJm
+(with) 17.7142 Tj
+-374 TJm
+(the) 12.1748 Tj
+-374 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-374 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-406 TJm
+(n) 4.9815 Tj
+1 TJm
+(o) 4.9815 Tj
+-375 TJm
+(global) 24.9075 Tj
+-374 TJm
+(v) 4.9815 Tj
+25 TJm
+(ariables) 30.9849 Tj
+-374 TJm
+(are) 12.1648 Tj
+-374 TJm
+(used) 18.2622 Tj
+-374 TJm
+(so) 8.85711 Tj
+-374 TJm
+(the) 12.1748 Tj
+-374 TJm
+(library) 26.5614 Tj
+-374 TJm
+(is) 6.64532 Tj
+-374 TJm
+(per) 12.7228 Tj
+-375 TJm
+(se) 8.29918 Tj
+-374 TJm
+(thread-safe.) 46.7464 Tj
+-1365 TJm
+(Ho) 12.1748 Tj
+25 TJm
+(we) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+40 TJm
+(,) 2.49075 Tj
+-405 TJm
+(if) 6.08739 Tj
+-374 TJm
+(I/O) 13.2807 Tj
+72 327.998 Td
+(errors) 23.2337 Tj
+-267 TJm
+(occur) 22.1278 Tj
+-267 TJm
+(whilst) 24.3595 Tj
+-267 TJm
+(reading) 29.879 Tj
+-267 TJm
+(or) 8.29918 Tj
+-267 TJm
+(writing) 28.7831 Tj
+-267 TJm
+(the) 12.1748 Tj
+-267 TJm
+(underlying) 43.1697 Tj
+-267 TJm
+(compressed) 47.0353 Tj
+-267 TJm
+(\002les,) 19.0991 Tj
+-271 TJm
+(you) 14.9445 Tj
+-267 TJm
+(may) 17.1563 Tj
+-267 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-267 TJm
+(to) 7.75121 Tj
+-267 TJm
+(consult) 28.7831 Tj
+[1 0 0 1 457.199 327.998] cm
+0 g
+0 G
+[1 0 0 1 -457.199 -327.998] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+457.199 327.998 Td
+/F130_0 9.963 Tf
+(errno) 29.889 Tj
+[1 0 0 1 487.087 327.998] cm
+0 g
+0 G
+[1 0 0 1 -487.087 -327.998] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+489.748 327.998 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-267 TJm
+(determine) 39.842 Tj
+72 316.043 Td
+(the) 12.1748 Tj
+-366 TJm
+(cau) 13.8286 Tj
+1 TJm
+(se) 8.29918 Tj
+-366 TJm
+(of) 8.29918 Tj
+-366 TJm
+(the) 12.1748 Tj
+-365 TJm
+(error) 19.3581 Tj
+55 TJm
+(.) 2.49075 Tj
+-1314 TJm
+(In) 8.29918 Tj
+-365 TJm
+(that) 14.9445 Tj
+-366 TJm
+(case,) 19.6371 Tj
+-394 TJm
+(you') 18.2622 Tj
+50 TJm
+(d) 4.9815 Tj
+-366 TJm
+(need) 18.8101 Tj
+-365 TJm
+(a) 4.42357 Tj
+-366 TJm
+(C) 6.64532 Tj
+-366 TJm
+(lib) 10.5209 Tj
+1 TJm
+(rary) 16.0404 Tj
+-366 TJm
+(which) 24.3496 Tj
+-366 TJm
+(corr) 16.0404 Tj
+1 TJm
+(ectly) 19.3681 Tj
+-366 TJm
+(supports) 33.7646 Tj
+[1 0 0 1 431.668 316.043] cm
+0 g
+0 G
+[1 0 0 1 -431.668 -316.043] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+431.668 316.043 Td
+/F130_0 9.963 Tf
+(errno) 29.889 Tj
+[1 0 0 1 461.556 316.043] cm
+0 g
+0 G
+[1 0 0 1 -461.556 -316.043] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+465.199 316.043 Td
+/F128_0 9.963 Tf
+(in) 7.75121 Tj
+-366 TJm
+(a) 4.42357 Tj
+-365 TJm
+(multithreaded) 55.3445 Tj
+72 304.088 Td
+(en) 9.40507 Tj
+40 TJm
+(vironment.) 43.4486 Tj
+[1 0 0 1 72 303.988] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -294.025] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 282.17 Td
+/F128_0 9.963 Tf
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-243 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-242 TJm
+(the) 12.1748 Tj
+-243 TJm
+(library) 26.5614 Tj
+-243 TJm
+(a) 4.42357 Tj
+-242 TJm
+(little) 18.2721 Tj
+-243 TJm
+(simpler) 29.889 Tj
+-243 TJm
+(and) 14.3866 Tj
+-242 TJm
+(more) 20.474 Tj
+-243 TJm
+(portable,) 35.1395 Tj
+[1 0 0 1 289.263 282.17] cm
+0 g
+0 G
+[1 0 0 1 -289.263 -282.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+289.263 282.17 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadOpen) 83.6892 Tj
+[1 0 0 1 372.949 282.17] cm
+0 g
+0 G
+[1 0 0 1 -372.949 -282.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+375.368 282.17 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 392.172 282.17] cm
+0 g
+0 G
+[1 0 0 1 -392.172 -282.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+392.172 282.17 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteOpen) 89.667 Tj
+[1 0 0 1 481.836 282.17] cm
+0 g
+0 G
+[1 0 0 1 -481.836 -282.17] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+484.254 282.17 Td
+/F128_0 9.963 Tf
+(require) 28.2152 Tj
+-243 TJm
+(you) 14.9445 Tj
+-242 TJm
+(to) 7.75121 Tj
+72 270.215 Td
+(pass) 17.1563 Tj
+-247 TJm
+(them) 19.926 Tj
+-247 TJm
+(\002le) 12.7327 Tj
+-248 TJm
+(handles) 30.437 Tj
+-247 TJm
+(\() 3.31768 Tj
+[1 0 0 1 165.421 270.215] cm
+0 g
+0 G
+[1 0 0 1 -165.421 -270.215] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+165.421 270.215 Td
+/F130_0 9.963 Tf
+(FILE*) 29.889 Tj
+[1 0 0 1 195.309 270.215] cm
+0 g
+0 G
+[1 0 0 1 -195.309 -270.215] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+195.309 270.215 Td
+/F128_0 9.963 Tf
+(s\)) 7.19329 Tj
+-247 TJm
+(which) 24.3496 Tj
+-247 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-248 TJm
+(pre) 12.7228 Tj
+25 TJm
+(viously) 29.341 Tj
+-247 TJm
+(been) 18.8101 Tj
+-247 TJm
+(opened) 28.7731 Tj
+-247 TJm
+(for) 11.6169 Tj
+-247 TJm
+(reading) 29.879 Tj
+-248 TJm
+(or) 8.29918 Tj
+-247 TJm
+(writing) 28.7831 Tj
+-247 TJm
+(respecti) 30.9849 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ely) 12.1748 Tj
+65 TJm
+(.) 2.49075 Tj
+-618 TJm
+(That) 18.2622 Tj
+-247 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+20 TJm
+(oids) 16.6083 Tj
+72 258.26 Td
+(portability) 41.5158 Tj
+-272 TJm
+(problems) 37.0823 Tj
+-272 TJm
+(associated) 40.9479 Tj
+-273 TJm
+(wi) 9.963 Tj
+1 TJm
+(th) 7.75121 Tj
+-273 TJm
+(\002le) 12.7327 Tj
+-272 TJm
+(operations) 41.5059 Tj
+-272 TJm
+(and) 14.3866 Tj
+-273 TJm
+(\002le) 12.7327 Tj
+-272 TJm
+(attrib) 21.0319 Tj
+20 TJm
+(utes,) 18.5411 Tj
+-278 TJm
+(whilst) 24.3595 Tj
+-272 TJm
+(not) 12.7327 Tj
+-272 TJm
+(being) 22.1378 Tj
+-273 TJm
+(mu) 12.7327 Tj
+1 TJm
+(ch) 9.40507 Tj
+-273 TJm
+(of) 8.29918 Tj
+-272 TJm
+(an) 9.40507 Tj
+-272 TJm
+(imposition) 42.6317 Tj
+-273 TJm
+(on) 9.963 Tj
+-272 TJm
+(the) 12.1748 Tj
+72 246.304 Td
+(programmer) 49.2471 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 244.148] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -234.185] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 215.683 Td
+/F121_0 17.215 Tf
+(3.1.3.) 43.0719 Tj
+-278 TJm
+(Utility) 47.8233 Tj
+-278 TJm
+(functions) 77.4675 Tj
+-278 TJm
+(summar) 66.9664 Tj
+-10 TJm
+(y) 9.57154 Tj
+[1 0 0 1 72 212.12] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -202.157] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 193.765 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-273 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+-273 TJm
+(simple) 26.5713 Tj
+-273 TJm
+(needs,) 25.1765 Tj
+[1 0 0 1 165.929 193.765] cm
+0 g
+0 G
+[1 0 0 1 -165.929 -193.765] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+165.929 193.765 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffCompress) 143.467 Tj
+[1 0 0 1 309.391 193.765] cm
+0 g
+0 G
+[1 0 0 1 -309.391 -193.765] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+312.112 193.765 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 329.219 193.765] cm
+0 g
+0 G
+[1 0 0 1 -329.219 -193.765] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+329.219 193.765 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffDecompre) 143.467 Tj
+1 TJm
+(ss) 11.9556 Tj
+[1 0 0 1 484.636 193.765] cm
+0 g
+0 G
+[1 0 0 1 -484.636 -193.765] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+487.357 193.765 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+-273 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vided.) 24.6285 Tj
+72 181.81 Td
+(These) 23.7916 Tj
+-373 TJm
+(compress) 37.6303 Tj
+-374 TJm
+(data) 16.5984 Tj
+-373 TJm
+(in) 7.75121 Tj
+-374 TJm
+(memory) 33.2067 Tj
+-373 TJm
+(from) 19.3681 Tj
+-374 TJm
+(one) 14.3866 Tj
+-373 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-374 TJm
+(to) 7.75121 Tj
+-373 TJm
+(another) 29.879 Tj
+-374 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fe) 7.74125 Tj
+1 TJm
+(r) 3.31768 Tj
+-374 TJm
+(in) 7.75121 Tj
+-374 TJm
+(a) 4.42357 Tj
+-373 TJm
+(single) 23.8016 Tj
+-373 TJm
+(function) 33.2067 Tj
+-374 TJm
+(call.) 16.8773 Tj
+-1361 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-374 TJm
+(should) 26.5713 Tj
+-373 TJm
+(assess) 24.3496 Tj
+72 169.855 Td
+(whether) 32.0908 Tj
+-344 TJm
+(t) 2.76971 Tj
+1 TJm
+(hese) 17.7043 Tj
+-344 TJm
+(functions) 37.0823 Tj
+-344 TJm
+(ful\002) 16.6083 Tj
+1 TJm
+(ll) 5.53943 Tj
+-344 TJm
+(your) 18.2622 Tj
+-344 TJm
+(memory-to) 44.2756 Tj
+1 TJm
+(-memory) 36.5244 Tj
+-344 TJm
+(compression/decompressio) 107.919 Tj
+1 TJm
+(n) 4.9815 Tj
+-344 TJm
+(requirements) 52.0168 Tj
+-344 TJm
+(be) 9.40507 Tj
+1 TJm
+(fore) 16.0404 Tj
+-344 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(esting) 23.8016 Tj
+72 157.9 Td
+(ef) 7.74125 Tj
+25 TJm
+(fort) 14.3866 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(understanding) 56.4504 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(m) 7.75121 Tj
+1 TJm
+(ore) 12.7228 Tj
+-250 TJm
+(general) 29.3211 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(more) 20.474 Tj
+-250 TJm
+(comple) 29.3311 Tj
+15 TJm
+(x) 4.9815 Tj
+-250 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace.) 15.7615 Tj
+[1 0 0 1 72 155.743] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -145.78] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 135.982 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(oshioka) 30.9949 Tj
+-531 TJm
+(Tsuneo) 29.3311 Tj
+-531 TJm
+(\() 3.31768 Tj
+[1 0 0 1 152.317 135.982] cm
+0 g
+0 G
+[1 0 0 1 -152.317 -135.982] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+152.317 135.982 Td
+/F130_0 9.963 Tf
+(QWF00133@niftyserve.or.jp) 149.445 Tj
+[1 0 0 1 301.757 135.982] cm
+0 g
+0 G
+[1 0 0 1 -301.757 -135.982] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+307.046 135.982 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 315.105 135.982] cm
+0 g
+0 G
+[1 0 0 1 -315.105 -135.982] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+315.105 135.982 Td
+/F130_0 9.963 Tf
+(tsuneo-y@is.aist-nara.ac.j) 155.423 Tj
+1 TJm
+(p) 5.9778 Tj
+[1 0 0 1 476.5 135.982] cm
+0 g
+0 G
+[1 0 0 1 -476.5 -135.982] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+476.5 135.982 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-531 TJm
+(has) 13.2807 Tj
+-531 TJm
+(contrib) 28.2252 Tj
+20 TJm
+(u-) 8.29918 Tj
+72 124.027 Td
+(ted) 12.1748 Tj
+-486 TJm
+(s) 3.87561 Tj
+1 TJm
+(ome) 17.1563 Tj
+-486 TJm
+(functions) 37.0823 Tj
+-485 TJm
+(to) 7.75121 Tj
+-486 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-485 TJm
+(better) 22.6858 Tj
+[1 0 0 1 218.504 124.027] cm
+0 g
+0 G
+[1 0 0 1 -218.504 -124.027] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+218.504 124.027 Td
+/F130_0 9.963 Tf
+(zlib) 23.9112 Tj
+[1 0 0 1 242.415 124.027] cm
+0 g
+0 G
+[1 0 0 1 -242.415 -124.027] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+247.252 124.027 Td
+/F128_0 9.963 Tf
+(compatibility) 53.1426 Tj
+65 TJm
+(.) 2.49075 Tj
+-2033 TJm
+(These) 23.7916 Tj
+-486 TJm
+(functions) 37.0823 Tj
+-485 TJm
+(are) 12.1648 Tj
+[1 0 0 1 410.043 124.027] cm
+0 g
+0 G
+[1 0 0 1 -410.043 -124.027] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+410.043 124.027 Td
+/F130_0 9.963 Tf
+(BZ2_bzopen) 59.778 Tj
+[1 0 0 1 469.818 124.027] cm
+0 g
+0 G
+[1 0 0 1 -469.818 -124.027] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+469.818 124.027 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 477.734 124.027] cm
+0 g
+0 G
+[1 0 0 1 -477.734 -124.027] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.734 124.027 Td
+/F130_0 9.963 Tf
+(BZ2_bzread) 59.778 Tj
+[1 0 0 1 537.509 124.027] cm
+0 g
+0 G
+[1 0 0 1 -537.509 -124.027] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+537.509 124.027 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 72 112.072] cm
+0 g
+0 G
+[1 0 0 1 -72 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 112.072 Td
+/F130_0 9.963 Tf
+(BZ2_bzwrite) 65.7558 Tj
+[1 0 0 1 137.753 112.072] cm
+0 g
+0 G
+[1 0 0 1 -137.753 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+137.753 112.072 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 143.886 112.072] cm
+0 g
+0 G
+[1 0 0 1 -143.886 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+143.886 112.072 Td
+/F130_0 9.963 Tf
+(BZ2_bzflush) 65.7558 Tj
+[1 0 0 1 209.64 112.072] cm
+0 g
+0 G
+[1 0 0 1 -209.64 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+209.64 112.072 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 215.773 112.072] cm
+0 g
+0 G
+[1 0 0 1 -215.773 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+215.773 112.072 Td
+/F130_0 9.963 Tf
+(BZ2_bzclose) 65.7558 Tj
+[1 0 0 1 281.526 112.072] cm
+0 g
+0 G
+[1 0 0 1 -281.526 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+281.526 112.072 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 287.659 112.072] cm
+0 g
+0 G
+[1 0 0 1 -287.659 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+287.659 112.072 Td
+/F130_0 9.963 Tf
+(BZ2_bzerror) 65.7558 Tj
+[1 0 0 1 353.413 112.072] cm
+0 g
+0 G
+[1 0 0 1 -353.413 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+356.824 112.072 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 374.622 112.072] cm
+0 g
+0 G
+[1 0 0 1 -374.622 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+374.622 112.072 Td
+/F130_0 9.963 Tf
+(BZ2_bzlibVersion) 95.6448 Tj
+[1 0 0 1 470.264 112.072] cm
+0 g
+0 G
+[1 0 0 1 -470.264 -112.072] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+470.264 112.072 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1175 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-342 TJm
+(may) 17.1563 Tj
+-343 TJm
+(\002nd) 15.5024 Tj
+72 100.117 Td
+(these) 20.474 Tj
+-333 TJm
+(functions) 37.0823 Tj
+-334 TJm
+(more) 20.474 Tj
+-333 TJm
+(con) 14.3866 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(enient) 24.3496 Tj
+-333 TJm
+(for) 11.6169 Tj
+-334 TJm
+(simple) 26.5713 Tj
+-333 TJm
+(\002le) 12.7327 Tj
+-334 TJm
+(r) 3.31768 Tj
+1 TJm
+(eading) 26.5614 Tj
+-334 TJm
+(and) 14.3866 Tj
+-333 TJm
+(writing,) 31.2739 Tj
+-354 TJm
+(than) 17.1563 Tj
+-334 TJm
+(those) 21.0319 Tj
+-333 TJm
+(in) 7.75121 Tj
+-334 TJm
+(the) 12.1748 Tj
+-333 TJm
+(high-le) 28.2252 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-333 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace.) 15.7615 Tj
+-1121 TJm
+(These) 23.7916 Tj
+72 88.161 Td
+(functions) 37.0823 Tj
+-229 TJm
+(are) 12.1648 Tj
+-228 TJm
+(not) 12.7327 Tj
+-229 TJm
+(\(yet\)) 18.8101 Tj
+-229 TJm
+(of) 8.29918 Tj
+25 TJm
+(\002cially) 27.6772 Tj
+-229 TJm
+(pa) 9.40507 Tj
+1 TJm
+(rt) 6.08739 Tj
+-229 TJm
+(of) 8.29918 Tj
+-229 TJm
+(the) 12.1748 Tj
+-229 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-233 TJm
+(and) 14.3866 Tj
+-228 TJm
+(are) 12.1648 Tj
+-229 TJm
+(minimally) 40.9679 Tj
+-229 TJm
+(documented) 48.6991 Tj
+-228 TJm
+(here.) 19.6371 Tj
+-606 TJm
+(If) 6.63536 Tj
+-229 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-229 TJm
+(break,) 24.6186 Tj
+-233 TJm
+(you) 14.9445 Tj
+-228 TJm
+(get) 12.1748 Tj
+-229 TJm
+(to) 7.75121 Tj
+-229 TJm
+(k) 4.9815 Tj
+10 TJm
+(eep) 13.8286 Tj
+72 76.206 Td
+(all) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(pieces.) 27.3883 Tj
+-310 TJm
+(I) 3.31768 Tj
+-250 TJm
+(hope) 19.3681 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(docum) 27.1193 Tj
+1 TJm
+(ent) 12.1748 Tj
+-250 TJm
+(them) 19.926 Tj
+-250 TJm
+(properly) 33.7546 Tj
+-250 TJm
+(when) 21.5799 Tj
+-250 TJm
+(time) 17.7142 Tj
+-250 TJm
+(permits.) 32.3798 Tj
+[1 0 0 1 72 74.049] cm
+0 g
+0 G
+[1 0 0 1 0 -23.197] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 4.384 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.974] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 43.064 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -498.225 -51.071] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+541.288 51.071 Td
+/F128_0 9.963 Tf
+(9) 4.9815 Tj
+[1 0 0 1 455.161 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.599 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -15.037 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 13 13
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(oshioka) 30.9949 Tj
+-250 TJm
+(also) 16.0504 Tj
+-250 TJm
+(contrib) 28.2252 Tj
+20 TJm
+(uted) 17.1563 Tj
+-250 TJm
+(mo) 12.7327 Tj
+1 TJm
+(di\002cations) 41.5158 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(allo) 14.9445 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(library) 26.5614 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(uilt) 13.2906 Tj
+-250 TJm
+(as) 8.29918 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(W) 9.40507 Tj
+40 TJm
+(indo) 17.7142 Tj
+25 TJm
+(ws) 11.0689 Tj
+-250 TJm
+(D) 7.19329 Tj
+1 TJm
+(LL.) 14.6655 Tj
+[1 0 0 1 72 707.881] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -698.137] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 675.504 Td
+/F121_0 20.659 Tf
+(3.2.) 34.4592 Tj
+-278 TJm
+(Err) 29.8523 Tj
+20 TJm
+(or) 20.659 Tj
+-278 TJm
+(handling) 86.0861 Tj
+[1 0 0 1 72 670.907] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.743] cm
+0 g
+0 G
+[1 0 0 1 -72 -661.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 653.805 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-214 TJm
+(library) 26.5614 Tj
+-215 TJm
+(is) 6.64532 Tj
+-214 TJm
+(designed) 35.4185 Tj
+-215 TJm
+(to) 7.75121 Tj
+-214 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-214 TJm
+(cleanly) 28.7731 Tj
+-215 TJm
+(in) 7.75121 Tj
+-214 TJm
+(all) 9.963 Tj
+-215 TJm
+(situati) 24.3595 Tj
+1 TJm
+(ons,) 16.3294 Tj
+-222 TJm
+(including) 37.6402 Tj
+-214 TJm
+(the) 12.1748 Tj
+-215 TJm
+(w) 7.19329 Tj
+10 TJm
+(orst-case) 35.4085 Tj
+-214 TJm
+(situation) 34.3225 Tj
+-214 TJm
+(of) 8.29918 Tj
+-215 TJm
+(decompressing) 59.768 Tj
+-214 TJm
+(random) 30.437 Tj
+72 641.85 Td
+(data.) 19.0891 Tj
+-764 TJm
+(I'm) 14.3866 Tj
+-274 TJm
+(not) 12.7327 Tj
+-274 TJm
+(100%) 23.2437 Tj
+-274 TJm
+(sure) 16.5984 Tj
+-274 TJm
+(that) 14.9445 Tj
+-274 TJm
+(it) 5.53943 Tj
+-274 TJm
+(can) 13.8286 Tj
+-274 TJm
+(al) 7.19329 Tj
+10 TJm
+(w) 7.19329 Tj
+10 TJm
+(ays) 13.2807 Tj
+-274 TJm
+(do) 9.963 Tj
+-274 TJm
+(this,) 16.8873 Tj
+-280 TJm
+(so) 8.85711 Tj
+-274 TJm
+(you) 14.9445 Tj
+-274 TJm
+(might) 23.2536 Tj
+-274 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-274 TJm
+(to) 7.75121 Tj
+-274 TJm
+(add) 14.3866 Tj
+-274 TJm
+(a) 4.42357 Tj
+-274 TJm
+(signal) 23.8016 Tj
+-274 TJm
+(handler) 29.879 Tj
+-274 TJm
+(to) 7.75121 Tj
+-274 TJm
+(catch) 21.0219 Tj
+-274 TJm
+(se) 8.29918 Tj
+15 TJm
+(gmentation) 44.8335 Tj
+72 629.895 Td
+(violations) 39.304 Tj
+-273 TJm
+(during) 26.0134 Tj
+-273 TJm
+(decompression) 59.768 Tj
+-273 TJm
+(if) 6.08739 Tj
+-273 TJm
+(you) 14.9445 Tj
+-273 TJm
+(are) 12.1648 Tj
+-273 TJm
+(feeling) 27.6673 Tj
+-273 TJm
+(especially) 39.842 Tj
+-273 TJm
+(paranoid.) 37.3513 Tj
+-758 TJm
+(I) 3.31768 Tj
+-273 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-273 TJm
+(be) 9.40507 Tj
+-273 TJm
+(interested) 38.7361 Tj
+-273 TJm
+(in) 7.75121 Tj
+-273 TJm
+(hearing) 29.879 Tj
+-273 TJm
+(more) 20.474 Tj
+-273 TJm
+(about) 22.1378 Tj
+72 617.939 Td
+(the) 12.1748 Tj
+-250 TJm
+(rob) 13.2807 Tj
+20 TJm
+(ustness) 28.7831 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(library) 26.5614 Tj
+-250 TJm
+(t) 2.76971 Tj
+1 TJm
+(o) 4.9815 Tj
+-250 TJm
+(corrupted) 38.1782 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(data.) 19.0891 Tj
+[1 0 0 1 72 615.783] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+[1 0 0 1 -72 -606.039] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 596.241 Td
+/F128_0 9.963 Tf
+(V) 7.19329 Tj
+111 TJm
+(ersion) 24.3496 Tj
+-251 TJm
+(1.0.3) 19.926 Tj
+-251 TJm
+(more) 20.474 Tj
+-251 TJm
+(rob) 13.2807 Tj
+20 TJm
+(ust) 11.6268 Tj
+-251 TJm
+(in) 7.75121 Tj
+-251 TJm
+(this) 14.3965 Tj
+-251 TJm
+(respect) 28.2152 Tj
+-251 TJm
+(than) 17.1563 Tj
+-251 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-251 TJm
+(pre) 12.7228 Tj
+25 TJm
+(vious) 21.5898 Tj
+-251 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion.) 26.8403 Tj
+-626 TJm
+(In) 8.29918 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(estig) 18.8201 Tj
+5 TJm
+(ations) 23.8016 Tj
+-251 TJm
+(with) 17.7142 Tj
+-251 TJm
+(V) 7.19329 Tj
+111 TJm
+(algrind) 28.2252 Tj
+-251 TJm
+(\(a) 7.74125 Tj
+-251 TJm
+(tool) 15.5024 Tj
+-251 TJm
+(for) 11.6169 Tj
+-251 TJm
+(detecting) 36.5244 Tj
+72 584.285 Td
+(problems) 37.0823 Tj
+-421 TJm
+(with) 17.7142 Tj
+-422 TJm
+(memory) 33.2067 Tj
+-421 TJm
+(management\)) 54.2286 Tj
+-422 TJm
+(indicat) 27.1193 Tj
+1 TJm
+(e) 4.42357 Tj
+-422 TJm
+(that,) 17.4353 Tj
+-464 TJm
+(at) 7.19329 Tj
+-422 TJm
+(least) 18.2622 Tj
+-421 TJm
+(for) 11.6169 Tj
+-422 TJm
+(the) 12.1748 Tj
+-421 TJm
+(fe) 7.74125 Tj
+25 TJm
+(w) 7.19329 Tj
+-422 TJm
+(\002les) 16.6083 Tj
+-421 TJm
+(I) 3.31768 Tj
+-422 TJm
+(tested,) 25.7344 Tj
+-464 TJm
+(all) 9.963 Tj
+-422 TJm
+(single) 23.8016 Tj
+1 TJm
+(-bit) 13.8386 Tj
+-422 TJm
+(errors) 23.2337 Tj
+-421 TJm
+(in) 7.75121 Tj
+-422 TJm
+(the) 12.1748 Tj
+72 572.33 Td
+(decompressed) 56.4404 Tj
+-342 TJm
+(d) 4.9815 Tj
+1 TJm
+(ata) 11.6169 Tj
+-342 TJm
+(are) 12.1648 Tj
+-342 TJm
+(caught) 26.5614 Tj
+-342 TJm
+(pro) 13.2807 Tj
+1 TJm
+(perly) 20.474 Tj
+65 TJm
+(,) 2.49075 Tj
+-365 TJm
+(with) 17.7142 Tj
+-342 TJm
+(no) 9.963 Tj
+-342 TJm
+(s) 3.87561 Tj
+1 TJm
+(e) 4.42357 Tj
+15 TJm
+(gmentation) 44.8335 Tj
+-342 TJm
+(f) 3.31768 Tj
+10 TJm
+(aults,) 21.3109 Tj
+-365 TJm
+(no) 9.963 Tj
+-341 TJm
+(uses) 17.1563 Tj
+-342 TJm
+(of) 8.29918 Tj
+-342 TJm
+(uninitialise) 44.2855 Tj
+1 TJm
+(d) 4.9815 Tj
+-342 TJm
+(data,) 19.0891 Tj
+-365 TJm
+(no) 9.963 Tj
+-342 TJm
+(out) 12.7327 Tj
+-341 TJm
+(of) 8.29918 Tj
+-342 TJm
+(range) 22.1278 Tj
+72 560.375 Td
+(reads) 21.0219 Tj
+-260 TJm
+(or) 8.29918 Tj
+-261 TJm
+(writes,) 26.8403 Tj
+-263 TJm
+(and) 14.3866 Tj
+-261 TJm
+(no) 9.963 Tj
+-260 TJm
+(in\002nite) 28.2351 Tj
+-261 TJm
+(looping) 30.4469 Tj
+-260 TJm
+(in) 7.75121 Tj
+-261 TJm
+(the) 12.1748 Tj
+-260 TJm
+(decompressor) 55.3345 Tj
+55 TJm
+(.) 2.49075 Tj
+-342 TJm
+(So) 10.5209 Tj
+-260 TJm
+(it') 8.85711 Tj
+55 TJm
+(s) 3.87561 Tj
+-261 TJm
+(certainly) 34.8605 Tj
+-260 TJm
+(pretty) 23.2437 Tj
+-261 TJm
+(rob) 13.2807 Tj
+21 TJm
+(ust,) 14.1176 Tj
+-264 TJm
+(although) 34.8705 Tj
+-260 TJm
+(I) 3.31768 Tj
+-261 TJm
+(w) 7.19329 Tj
+10 TJm
+(ouldn') 26.0134 Tj
+18 TJm
+(t) 2.76971 Tj
+-260 TJm
+(claim) 22.1378 Tj
+72 548.42 Td
+(it) 5.53943 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(totally) 25.4654 Tj
+-250 TJm
+(bombproof.) 46.7663 Tj
+[1 0 0 1 72 546.263] cm
+0 g
+0 G
+[1 0 0 1 0 -9.743] cm
+0 g
+0 G
+[1 0 0 1 -72 -536.52] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 526.721 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-282 TJm
+(\002le) 12.7327 Tj
+[1 0 0 1 105.84 526.721] cm
+0 g
+0 G
+[1 0 0 1 -105.84 -526.721] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+105.84 526.721 Td
+/F130_0 9.963 Tf
+(bzlib.h) 41.8446 Tj
+[1 0 0 1 147.683 526.721] cm
+0 g
+0 G
+[1 0 0 1 -147.683 -526.721] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+150.491 526.721 Td
+/F128_0 9.963 Tf
+(contains) 33.2067 Tj
+-282 TJm
+(all) 9.963 Tj
+-282 TJm
+(d) 4.9815 Tj
+1 TJm
+(e\002nitions) 37.0922 Tj
+-282 TJm
+(needed) 28.2152 Tj
+-282 TJm
+(to) 7.75121 Tj
+-282 TJm
+(use) 13.2807 Tj
+-282 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-282 TJm
+(library) 26.5614 Tj
+65 TJm
+(.) 2.49075 Tj
+-811 TJm
+(In) 8.29918 Tj
+-282 TJm
+(particular) 38.1782 Tj
+40 TJm
+(,) 2.49075 Tj
+-290 TJm
+(you) 14.9445 Tj
+-282 TJm
+(shou) 18.8201 Tj
+1 TJm
+(ld) 7.75121 Tj
+-282 TJm
+(de\002nitely) 37.6402 Tj
+-282 TJm
+(not) 12.7327 Tj
+-282 TJm
+(include) 29.3311 Tj
+[1 0 0 1 72 514.766] cm
+0 g
+0 G
+[1 0 0 1 -72 -514.766] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 514.766 Td
+/F130_0 9.963 Tf
+(bzlib_private.h) 89.667 Tj
+[1 0 0 1 161.664 514.766] cm
+0 g
+0 G
+[1 0 0 1 -161.664 -514.766] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.664 514.766 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 513.202] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+[1 0 0 1 -72 -503.458] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 493.067 Td
+/F128_0 9.963 Tf
+(In) 8.29918 Tj
+[1 0 0 1 82.807 493.067] cm
+0 g
+0 G
+[1 0 0 1 -82.807 -493.067] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+82.807 493.067 Td
+/F130_0 9.963 Tf
+(bzlib.h) 41.8446 Tj
+[1 0 0 1 124.651 493.067] cm
+0 g
+0 G
+[1 0 0 1 -124.651 -493.067] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+124.651 493.067 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-252 TJm
+(the) 12.1748 Tj
+-252 TJm
+(v) 4.9815 Tj
+25 TJm
+(arious) 24.3496 Tj
+-252 TJm
+(return) 23.7916 Tj
+-251 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues) 20.474 Tj
+-252 TJm
+(are) 12.1648 Tj
+-252 TJm
+(de\002ned.) 31.8218 Tj
+-630 TJm
+(The) 15.4925 Tj
+-252 TJm
+(follo) 18.8201 Tj
+25 TJm
+(wing) 19.926 Tj
+-252 TJm
+(list) 12.1847 Tj
+-251 TJm
+(is) 6.64532 Tj
+-252 TJm
+(not) 12.7327 Tj
+-252 TJm
+(intended) 34.3126 Tj
+-252 TJm
+(as) 8.29918 Tj
+-251 TJm
+(an) 9.40507 Tj
+-252 TJm
+(e) 4.42357 Tj
+15 TJm
+(xhausti) 28.7831 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-252 TJm
+(description) 44.2756 Tj
+-251 TJm
+(of) 8.29918 Tj
+72 481.112 Td
+(the) 12.1748 Tj
+-236 TJm
+(circumstances) 56.4404 Tj
+-236 TJm
+(in) 7.75121 Tj
+-236 TJm
+(which) 24.3496 Tj
+-236 TJm
+(a) 4.42357 Tj
+-236 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-237 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-236 TJm
+(may) 17.1563 Tj
+-236 TJm
+(be) 9.40507 Tj
+-236 TJm
+(returned) 33.1967 Tj
+-236 TJm
+(--) 6.63536 Tj
+-236 TJm
+(those) 21.0319 Tj
+-236 TJm
+(descriptions) 48.1512 Tj
+-236 TJm
+(are) 12.1648 Tj
+-236 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-236 TJm
+(later) 17.7043 Tj
+55 TJm
+(.) 2.49075 Tj
+-306 TJm
+(Rather) 26.5614 Tj
+40 TJm
+(,) 2.49075 Tj
+-239 TJm
+(it) 5.53943 Tj
+-236 TJm
+(is) 6.64532 Tj
+-236 TJm
+(intended) 34.3126 Tj
+-236 TJm
+(to) 7.75121 Tj
+72 469.157 Td
+(con) 14.3866 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+15 TJm
+(y) 4.9815 Tj
+-266 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-266 TJm
+(rough) 23.2437 Tj
+-266 TJm
+(me) 12.1748 Tj
+1 TJm
+(aning) 22.1378 Tj
+-266 TJm
+(of) 8.29918 Tj
+-266 TJm
+(ea) 8.84714 Tj
+1 TJm
+(ch) 9.40507 Tj
+-266 TJm
+(return) 23.7916 Tj
+-266 TJm
+(v) 4.9815 Tj
+26 TJm
+(alue.) 19.0891 Tj
+-714 TJm
+(The) 15.4925 Tj
+-265 TJm
+(\002rst) 15.5024 Tj
+-266 TJm
+(\002) 5.53943 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-266 TJm
+(a) 4.42357 Tj
+1 TJm
+(ctions) 23.8016 Tj
+-266 TJm
+(are) 12.1648 Tj
+-265 TJm
+(normal) 28.2252 Tj
+-266 TJm
+(and) 14.3866 Tj
+-265 TJm
+(not) 12.7327 Tj
+-266 TJm
+(intended) 34.3126 Tj
+-265 TJm
+(to) 7.75121 Tj
+-266 TJm
+(denote) 26.5614 Tj
+-265 TJm
+(an) 9.40507 Tj
+-266 TJm
+(error) 19.3581 Tj
+72 457.202 Td
+(situation.) 36.8133 Tj
+[1 0 0 1 72 457.102] cm
+0 g
+0 G
+[1 0 0 1 0 -9.743] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -437.615] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 425.759 Td
+/F130_0 9.963 Tf
+(BZ_OK) 29.889 Tj
+[1 0 0 1 101.888 425.759] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -32.379 -1.165] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -424.594] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 413.804 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-250 TJm
+(requested) 38.1782 Tj
+-250 TJm
+(action) 24.3496 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-250 TJm
+(com) 17.1563 Tj
+1 TJm
+(pleted) 24.3496 Tj
+-250 TJm
+(successfully) 48.6991 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 411.647] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.765] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -398.138] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 388.34 Td
+/F130_0 9.963 Tf
+(BZ_RUN_OK,) 59.778 Tj
+-600 TJm
+(BZ_FLUSH_OK,) 71.7336 Tj
+-600 TJm
+(BZ) 11.9556 Tj
+1 TJm
+(_FINISH_OK) 59.778 Tj
+[1 0 0 1 287.193 388.34] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -217.684 -1.166] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -387.174] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 376.384 Td
+/F128_0 9.963 Tf
+(In) 8.29918 Tj
+[1 0 0 1 118.789 376.384] cm
+0 g
+0 G
+[1 0 0 1 -118.789 -376.384] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+118.789 376.384 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 202.476 376.384] cm
+0 g
+0 G
+[1 0 0 1 -202.476 -376.384] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+202.476 376.384 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(requested) 38.1782 Tj
+-250 TJm
+(\003ush/\002nish/) 47.0652 Tj
+1 TJm
+(nothing-special) 61.4319 Tj
+-250 TJm
+(action) 24.3496 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-250 TJm
+(completed) 41.5059 Tj
+-250 TJm
+(successfully) 48.6991 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 374.228] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.766] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -360.718] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 350.92 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 149.709 350.92] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -80.199 -1.166] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -349.754] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 338.965 Td
+/F128_0 9.963 Tf
+(Compression) 52.5847 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-250 TJm
+(com) 17.1563 Tj
+1 TJm
+(pleted,) 26.8403 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(logical) 27.1193 Tj
+-250 TJm
+(stream) 26.5614 Tj
+-250 TJm
+(end) 14.3866 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-250 TJm
+(detected) 33.1967 Tj
+-250 TJm
+(during) 26.0134 Tj
+-250 TJm
+(de) 9.40507 Tj
+1 TJm
+(compression.) 52.8537 Tj
+[1 0 0 1 72 336.808] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.766] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+[1 0 0 1 0 -9.743] cm
+0 g
+0 G
+[1 0 0 1 -72 -313.555] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 303.756 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-250 TJm
+(follo) 18.8201 Tj
+25 TJm
+(wing) 19.926 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues) 20.474 Tj
+-250 TJm
+(i) 2.76971 Tj
+1 TJm
+(ndicate) 28.7731 Tj
+-250 TJm
+(an) 9.40507 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(some) 21.0319 Tj
+-250 TJm
+(kind.) 20.205 Tj
+[1 0 0 1 72 301.6] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -282.112] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 272.314 Td
+/F130_0 9.963 Tf
+(BZ_CONFIG_ERROR) 89.667 Tj
+[1 0 0 1 161.664 272.314] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -92.154 -1.165] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -271.149] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 260.359 Td
+/F128_0 9.963 Tf
+(Indicates) 35.9664 Tj
+-386 TJm
+(that) 14.9445 Tj
+-385 TJm
+(the) 12.1748 Tj
+-386 TJm
+(library) 26.5614 Tj
+-386 TJm
+(has) 13.2807 Tj
+-385 TJm
+(been) 18.8101 Tj
+-386 TJm
+(improperly) 44.2756 Tj
+-385 TJm
+(compiled) 37.0823 Tj
+-386 TJm
+(on) 9.963 Tj
+-386 TJm
+(your) 18.2622 Tj
+-385 TJm
+(platform) 34.3126 Tj
+-386 TJm
+(--) 6.63536 Tj
+-386 TJm
+(a) 4.42357 Tj
+-385 TJm
+(major) 23.2437 Tj
+-386 TJm
+(con\002guration) 53.1327 Tj
+-386 TJm
+(error) 19.3581 Tj
+55 TJm
+(.) 2.49075 Tj
+108 248.404 Td
+(Speci\002cally) 47.0453 Tj
+65 TJm
+(,) 2.49075 Tj
+-481 TJm
+(it) 5.53943 Tj
+-435 TJm
+(means) 25.4555 Tj
+-434 TJm
+(that) 14.9445 Tj
+[1 0 0 1 220.614 248.404] cm
+0 g
+0 G
+[1 0 0 1 -220.614 -248.404] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+220.614 248.404 Td
+/F130_0 9.963 Tf
+(sizeof\(char\)) 71.7336 Tj
+[1 0 0 1 292.345 248.404] cm
+0 g
+0 G
+[1 0 0 1 -292.345 -248.404] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+292.345 248.404 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 299.628 248.404] cm
+0 g
+0 G
+[1 0 0 1 -299.628 -248.404] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+299.628 248.404 Td
+/F130_0 9.963 Tf
+(sizeof\(short\)) 77.7114 Tj
+[1 0 0 1 377.337 248.404] cm
+0 g
+0 G
+[1 0 0 1 -377.337 -248.404] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+381.669 248.404 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 400.388 248.404] cm
+0 g
+0 G
+[1 0 0 1 -400.388 -248.404] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+400.388 248.404 Td
+/F130_0 9.963 Tf
+(sizeof\(int\)) 65.7558 Tj
+[1 0 0 1 466.141 248.404] cm
+0 g
+0 G
+[1 0 0 1 -466.141 -248.404] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+470.474 248.404 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+-435 TJm
+(not) 12.7327 Tj
+-435 TJm
+(1,) 7.47225 Tj
+-481 TJm
+(2) 4.9815 Tj
+-434 TJm
+(and) 14.3866 Tj
+108 236.449 Td
+(4) 4.9815 Tj
+-389 TJm
+(respecti) 30.9849 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ely) 12.1748 Tj
+65 TJm
+(,) 2.49075 Tj
+-424 TJm
+(as) 8.29918 Tj
+-389 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-389 TJm
+(should) 26.5713 Tj
+-390 TJm
+(be.) 11.8958 Tj
+-1455 TJm
+(Note) 19.3681 Tj
+-389 TJm
+(that) 14.9445 Tj
+-389 TJm
+(the) 12.1748 Tj
+-390 TJm
+(library) 26.5614 Tj
+-389 TJm
+(should) 26.5713 Tj
+-389 TJm
+(still) 14.9545 Tj
+-389 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-389 TJm
+(properly) 33.7546 Tj
+-389 TJm
+(on) 9.963 Tj
+-390 TJm
+(64-bi) 21.0319 Tj
+1 TJm
+(t) 2.76971 Tj
+-390 TJm
+(platforms) 38.1882 Tj
+108 224.493 Td
+(which) 24.3496 Tj
+-292 TJm
+(follo) 18.8201 Tj
+25 TJm
+(w) 7.19329 Tj
+-292 TJm
+(the) 12.1748 Tj
+-292 TJm
+(LP64) 21.5898 Tj
+-292 TJm
+(programming) 54.2386 Tj
+-292 TJm
+(model) 24.9075 Tj
+-292 TJm
+(--) 6.63536 Tj
+-292 TJm
+(that) 14.9445 Tj
+-292 TJm
+(is,) 9.13607 Tj
+-303 TJm
+(where) 24.3396 Tj
+[1 0 0 1 355.279 224.493] cm
+0 g
+0 G
+[1 0 0 1 -355.279 -224.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+355.279 224.493 Td
+/F130_0 9.963 Tf
+(sizeof\(long\)) 71.7336 Tj
+[1 0 0 1 427.01 224.493] cm
+0 g
+0 G
+[1 0 0 1 -427.01 -224.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+429.92 224.493 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 447.217 224.493] cm
+0 g
+0 G
+[1 0 0 1 -447.217 -224.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+447.217 224.493 Td
+/F130_0 9.963 Tf
+(sizeof\(void*\)) 77.7114 Tj
+[1 0 0 1 524.925 224.493] cm
+0 g
+0 G
+[1 0 0 1 -524.925 -224.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+527.836 224.493 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+108 212.538 Td
+(8.) 7.47225 Tj
+-620 TJm
+(Under) 24.8975 Tj
+-250 TJm
+(LP64,) 24.0806 Tj
+[1 0 0 1 175.606 212.538] cm
+0 g
+0 G
+[1 0 0 1 -175.606 -212.538] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+175.606 212.538 Td
+/F130_0 9.963 Tf
+(sizeof\(int\)) 65.7558 Tj
+[1 0 0 1 241.36 212.538] cm
+0 g
+0 G
+[1 0 0 1 -241.36 -212.538] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+243.85 212.538 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(still) 14.9545 Tj
+-250 TJm
+(4,) 7.47225 Tj
+-250 TJm
+(so) 8.85711 Tj
+[1 0 0 1 291.74 212.538] cm
+0 g
+0 G
+[1 0 0 1 -291.74 -212.538] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+291.74 212.538 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 339.561 212.538] cm
+0 g
+0 G
+[1 0 0 1 -339.561 -212.538] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+339.561 212.538 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(the) 12.1748 Tj
+[1 0 0 1 433.458 212.538] cm
+0 g
+0 G
+[1 0 0 1 -433.458 -212.538] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+433.458 212.538 Td
+/F130_0 9.963 Tf
+(long) 23.9112 Tj
+[1 0 0 1 457.368 212.538] cm
+0 g
+0 G
+[1 0 0 1 -457.368 -212.538] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+459.859 212.538 Td
+/F128_0 9.963 Tf
+(type,) 19.647 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(OK.) 16.8773 Tj
+[1 0 0 1 72 210.381] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.765] cm
+0 g
+0 G
+[1 0 0 1 0 -9.744] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -196.872] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 187.074 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+[1 0 0 1 173.619 187.074] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -104.11 -1.42] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -185.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 175.118 Td
+/F128_0 9.963 Tf
+(When) 23.7916 Tj
+-290 TJm
+(using) 21.5898 Tj
+-291 TJm
+(the) 12.1748 Tj
+-290 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-301 TJm
+(it) 5.53943 Tj
+-290 TJm
+(is) 6.64532 Tj
+-291 TJm
+(important) 38.7461 Tj
+-290 TJm
+(to) 7.75121 Tj
+-291 TJm
+(ca) 8.84714 Tj
+1 TJm
+(ll) 5.53943 Tj
+-291 TJm
+(the) 12.1748 Tj
+-290 TJm
+(functions) 37.0823 Tj
+-291 TJm
+(in) 7.75121 Tj
+-290 TJm
+(the) 12.1748 Tj
+-291 TJm
+(correct) 27.6573 Tj
+-290 TJm
+(sequence) 36.5144 Tj
+-290 TJm
+(and) 14.3866 Tj
+-291 TJm
+(with) 17.7142 Tj
+-290 TJm
+(data) 16.5984 Tj
+-291 TJm
+(structures) 38.7361 Tj
+108 163.163 Td
+(\(b) 8.29918 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fers) 14.9345 Tj
+-205 TJm
+(etc\)) 14.9345 Tj
+-206 TJm
+(in) 7.75121 Tj
+-206 TJm
+(the) 12.1748 Tj
+-205 TJm
+(correct) 27.6573 Tj
+-206 TJm
+(states.) 24.6285 Tj
+[1 0 0 1 239.409 163.163] cm
+0 g
+0 G
+[1 0 0 1 -239.409 -163.163] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+239.409 163.163 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 287.23 163.163] cm
+0 g
+0 G
+[1 0 0 1 -287.23 -163.163] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+289.278 163.163 Td
+/F128_0 9.963 Tf
+(checks) 27.1093 Tj
+-206 TJm
+(as) 8.29918 Tj
+-205 TJm
+(much) 22.1378 Tj
+-206 TJm
+(as) 8.29918 Tj
+-205 TJm
+(it) 5.53943 Tj
+-206 TJm
+(can) 13.8286 Tj
+-205 TJm
+(to) 7.75121 Tj
+-206 TJm
+(ensure) 26.0034 Tj
+-205 TJm
+(this) 14.3965 Tj
+-206 TJm
+(is) 6.64532 Tj
+-206 TJm
+(happeni) 31.5429 Tj
+1 TJm
+(ng,) 12.4538 Tj
+-215 TJm
+(and) 14.3866 Tj
+-206 TJm
+(re) 7.74125 Tj
+1 TJm
+(turns) 19.926 Tj
+[1 0 0 1 108 151.208] cm
+0 g
+0 G
+[1 0 0 1 -108 -151.208] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 151.208 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+[1 0 0 1 209.619 151.208] cm
+0 g
+0 G
+[1 0 0 1 -209.619 -151.208] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+213.27 151.208 Td
+/F128_0 9.963 Tf
+(if) 6.08739 Tj
+-367 TJm
+(not) 12.7327 Tj
+1 TJm
+(.) 2.49075 Tj
+-660 TJm
+(Code) 21.0319 Tj
+-367 TJm
+(which) 24.3496 Tj
+-366 TJm
+(complies) 35.9764 Tj
+-367 TJm
+(precisel) 30.9849 Tj
+1 TJm
+(y) 4.9815 Tj
+-367 TJm
+(with) 17.7142 Tj
+-367 TJm
+(the) 12.1748 Tj
+-366 TJm
+(function) 33.2067 Tj
+-367 TJm
+(s) 3.87561 Tj
+1 TJm
+(emantics,) 37.9092 Tj
+-396 TJm
+(as) 8.29918 Tj
+-367 TJm
+(deta) 16.5984 Tj
+1 TJm
+(iled) 14.9445 Tj
+108 139.253 Td
+(belo) 17.1563 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(ne) 9.40507 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-250 TJm
+(recei) 19.3581 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(this) 14.3965 Tj
+-249 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue;) 19.3681 Tj
+-250 TJm
+(such) 18.2622 Tj
+-250 TJm
+(an) 9.40507 Tj
+-250 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ent) 12.1748 Tj
+-250 TJm
+(denotes) 30.437 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(uggy) 19.926 Tj
+-250 TJm
+(code) 18.8101 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(i) 2.76971 Tj
+1 TJm
+(n) 4.9815 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(estig) 18.8201 Tj
+5 TJm
+(ate.) 14.1076 Tj
+[1 0 0 1 72 137.096] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.766] cm
+0 g
+0 G
+[1 0 0 1 0 -9.743] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -123.587] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 113.788 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+[1 0 0 1 155.686 113.788] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -86.177 -1.165] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -112.623] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 101.833 Td
+/F128_0 9.963 Tf
+(Returned) 36.5244 Tj
+-434 TJm
+(when) 21.5799 Tj
+-434 TJm
+(a) 4.42357 Tj
+-433 TJm
+(parameter) 39.8321 Tj
+-434 TJm
+(to) 7.75121 Tj
+-434 TJm
+(a) 4.42357 Tj
+-434 TJm
+(function) 33.2067 Tj
+-434 TJm
+(call) 14.3866 Tj
+-434 TJm
+(is) 6.64532 Tj
+-433 TJm
+(out) 12.7327 Tj
+-434 TJm
+(of) 8.29918 Tj
+-434 TJm
+(range) 22.1278 Tj
+-434 TJm
+(or) 8.29918 Tj
+-434 TJm
+(otherwise) 38.7361 Tj
+-434 TJm
+(man) 17.1563 Tj
+1 TJm
+(ifestly) 24.9075 Tj
+-434 TJm
+(incorrect.) 37.8993 Tj
+-1724 TJm
+(As) 11.0689 Tj
+108 89.878 Td
+(with) 17.7142 Tj
+[1 0 0 1 131.644 89.878] cm
+0 g
+0 G
+[1 0 0 1 -131.644 -89.878] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+131.644 89.878 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+[1 0 0 1 233.263 89.878] cm
+0 g
+0 G
+[1 0 0 1 -233.263 -89.878] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+233.263 89.878 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-595 TJm
+(this) 14.3965 Tj
+-596 TJm
+(d) 4.9815 Tj
+1 TJm
+(enotes) 25.4555 Tj
+-596 TJm
+(a) 4.42357 Tj
+-595 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-595 TJm
+(in) 7.75121 Tj
+-595 TJm
+(the) 12.1748 Tj
+-596 TJm
+(client) 22.1378 Tj
+-595 TJm
+(code.) 21.3009 Tj
+-2692 TJm
+(T) 6.08739 Tj
+1 TJm
+(he) 9.40507 Tj
+-596 TJm
+(distinction) 42.0737 Tj
+-595 TJm
+(between) 33.1967 Tj
+[1 0 0 1 108 77.923] cm
+0 g
+0 G
+[1 0 0 1 -108 -77.923] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 77.923 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+[1 0 0 1 191.686 77.923] cm
+0 g
+0 G
+[1 0 0 1 -191.686 -77.923] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+194.177 77.923 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 211.053 77.923] cm
+0 g
+0 G
+[1 0 0 1 -211.053 -77.923] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+211.053 77.923 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+[1 0 0 1 312.672 77.923] cm
+0 g
+0 G
+[1 0 0 1 -312.672 -77.923] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+315.163 77.923 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(bit) 10.5209 Tj
+-250 TJm
+(hazy) 18.8101 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(still) 14.9545 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(orth) 16.0504 Tj
+-250 TJm
+(m) 7.75121 Tj
+1 TJm
+(aking.) 24.6285 Tj
+[1 0 0 1 72 75.766] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.766] cm
+0 g
+0 G
+[1 0 0 1 0 -21.148] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(10) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 14 14
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F130_0 9.963 Tf
+(BZ_MEM_ERROR) 71.7336 Tj
+[1 0 0 1 143.731 710.037] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -74.222 -1.165] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -708.872] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 698.082 Td
+/F128_0 9.963 Tf
+(Returned) 36.5244 Tj
+-227 TJm
+(when) 21.5799 Tj
+-228 TJm
+(a) 4.42357 Tj
+-228 TJm
+(reque) 22.1278 Tj
+1 TJm
+(st) 6.64532 Tj
+-228 TJm
+(to) 7.75121 Tj
+-228 TJm
+(allocate) 30.9849 Tj
+-227 TJm
+(memory) 33.2067 Tj
+-228 TJm
+(f) 3.31768 Tj
+10 TJm
+(aile) 14.3866 Tj
+1 TJm
+(d.) 7.47225 Tj
+-606 TJm
+(N) 7.19329 Tj
+1 TJm
+(ote) 12.1748 Tj
+-228 TJm
+(that) 14.9445 Tj
+-228 TJm
+(the) 12.1748 Tj
+-227 TJm
+(quantity) 32.6587 Tj
+-228 TJm
+(of) 8.29918 Tj
+-227 TJm
+(memory) 33.2067 Tj
+-228 TJm
+(needed) 28.2152 Tj
+-227 TJm
+(to) 7.75121 Tj
+-228 TJm
+(decompress) 47.0353 Tj
+108 686.127 Td
+(a) 4.42357 Tj
+-351 TJm
+(stream) 26.5614 Tj
+-352 TJm
+(cannot) 26.5614 Tj
+-351 TJm
+(be) 9.40507 Tj
+-351 TJm
+(determined) 44.8235 Tj
+-352 TJm
+(until) 18.2721 Tj
+-351 TJm
+(the) 12.1748 Tj
+-351 TJm
+(stream') 29.879 Tj
+55 TJm
+(s) 3.87561 Tj
+-352 TJm
+(heade) 23.2337 Tj
+1 TJm
+(r) 3.31768 Tj
+-352 TJm
+(has) 13.2807 Tj
+-351 TJm
+(been) 18.8101 Tj
+-352 TJm
+(read.) 19.6371 Tj
+-1228 TJm
+(So) 10.5209 Tj
+[1 0 0 1 426.471 686.127] cm
+0 g
+0 G
+[1 0 0 1 -426.471 -686.127] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+426.471 686.127 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 522.113 686.127] cm
+0 g
+0 G
+[1 0 0 1 -522.113 -686.127] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+525.614 686.127 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 108 674.172] cm
+0 g
+0 G
+[1 0 0 1 -108 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 674.172 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 167.776 674.172] cm
+0 g
+0 G
+[1 0 0 1 -167.776 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+172.13 674.172 Td
+/F128_0 9.963 Tf
+(may) 17.1563 Tj
+-437 TJm
+(return) 23.7916 Tj
+[1 0 0 1 221.784 674.172] cm
+0 g
+0 G
+[1 0 0 1 -221.784 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+221.784 674.172 Td
+/F130_0 9.963 Tf
+(BZ_MEM_ERROR) 71.7336 Tj
+[1 0 0 1 293.515 674.172] cm
+0 g
+0 G
+[1 0 0 1 -293.515 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+297.867 674.172 Td
+/F128_0 9.963 Tf
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-437 TJm
+(though) 27.6772 Tj
+-437 TJm
+(some) 21.0319 Tj
+-437 TJm
+(of) 8.29918 Tj
+-437 TJm
+(the) 12.1748 Tj
+-437 TJm
+(compressed) 47.0353 Tj
+-437 TJm
+(da) 9.40507 Tj
+1 TJm
+(ta) 7.19329 Tj
+-437 TJm
+(has) 13.2807 Tj
+-437 TJm
+(been) 18.8101 Tj
+-437 TJm
+(read.) 19.6371 Tj
+108 662.217 Td
+(The) 15.4925 Tj
+-479 TJm
+(sam) 16.0504 Tj
+1 TJm
+(e) 4.42357 Tj
+-479 TJm
+(is) 6.64532 Tj
+-479 TJm
+(not) 12.7327 Tj
+-478 TJm
+(true) 15.4925 Tj
+-479 TJm
+(for) 11.6169 Tj
+-478 TJm
+(compression;) 53.1327 Tj
+-593 TJm
+(once) 18.8101 Tj
+[1 0 0 1 301.675 662.217] cm
+0 g
+0 G
+[1 0 0 1 -301.675 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+301.675 662.217 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 409.272 662.217] cm
+0 g
+0 G
+[1 0 0 1 -409.272 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+414.04 662.217 Td
+/F128_0 9.963 Tf
+(or) 8.29918 Tj
+[1 0 0 1 427.107 662.217] cm
+0 g
+0 G
+[1 0 0 1 -427.107 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+427.107 662.217 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteOpen) 89.667 Tj
+[1 0 0 1 516.771 662.217] cm
+0 g
+0 G
+[1 0 0 1 -516.771 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+521.539 662.217 Td
+/F128_0 9.963 Tf
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+108 650.262 Td
+(successfully) 48.6991 Tj
+-250 TJm
+(completed,) 43.9966 Tj
+[1 0 0 1 205.672 650.262] cm
+0 g
+0 G
+[1 0 0 1 -205.672 -650.262] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+205.672 650.262 Td
+/F130_0 9.963 Tf
+(BZ_MEM_ERROR) 71.7336 Tj
+[1 0 0 1 277.403 650.262] cm
+0 g
+0 G
+[1 0 0 1 -277.403 -650.262] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+279.894 650.262 Td
+/F128_0 9.963 Tf
+(cannot) 26.5614 Tj
+-250 TJm
+(occur) 22.1278 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 648.105] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -634.157] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 624.359 Td
+/F130_0 9.963 Tf
+(BZ_DATA_ERROR) 77.7114 Tj
+[1 0 0 1 149.709 624.359] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -80.199 -1.166] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -623.193] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 612.404 Td
+/F128_0 9.963 Tf
+(Returned) 36.5244 Tj
+-265 TJm
+(when) 21.5799 Tj
+-266 TJm
+(a) 4.42357 Tj
+-266 TJm
+(da) 9.40507 Tj
+1 TJm
+(ta) 7.19329 Tj
+-266 TJm
+(inte) 14.9445 Tj
+15 TJm
+(grity) 18.8201 Tj
+-265 TJm
+(error) 19.3581 Tj
+-266 TJm
+(is) 6.64532 Tj
+-266 TJm
+(dete) 16.5984 Tj
+1 TJm
+(cted) 16.5984 Tj
+-266 TJm
+(during) 26.0134 Tj
+-266 TJm
+(d) 4.9815 Tj
+1 TJm
+(ecompression.) 57.2773 Tj
+-714 TJm
+(Most) 20.4839 Tj
+-265 TJm
+(importantly) 46.4973 Tj
+65 TJm
+(,) 2.49075 Tj
+-270 TJm
+(this) 14.3965 Tj
+-265 TJm
+(means) 25.4555 Tj
+-266 TJm
+(when) 21.5799 Tj
+108 600.448 Td
+(stored) 24.3496 Tj
+-222 TJm
+(and) 14.3866 Tj
+-222 TJm
+(computed) 39.2941 Tj
+-222 TJm
+(CRCs) 23.8116 Tj
+-223 TJm
+(for) 11.6169 Tj
+-222 TJm
+(the) 12.1748 Tj
+-222 TJm
+(data) 16.5984 Tj
+-222 TJm
+(do) 9.963 Tj
+-222 TJm
+(not) 12.7327 Tj
+-223 TJm
+(match.) 26.8403 Tj
+-601 TJm
+(This) 17.7142 Tj
+-222 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-222 TJm
+(is) 6.64532 Tj
+-223 TJm
+(also) 16.0504 Tj
+-222 TJm
+(returned) 33.1967 Tj
+-222 TJm
+(upon) 19.926 Tj
+-222 TJm
+(detection) 36.5244 Tj
+-222 TJm
+(of) 8.29918 Tj
+-222 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-223 TJm
+(other) 20.474 Tj
+108 588.493 Td
+(anomaly) 34.3126 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(d) 4.9815 Tj
+1 TJm
+(ata.) 14.1076 Tj
+[1 0 0 1 72 586.336] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -572.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 562.59 Td
+/F130_0 9.963 Tf
+(BZ_DATA_ERROR_MAGIC) 113.578 Tj
+[1 0 0 1 185.574 562.59] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -116.065 -1.165] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -561.425] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 550.635 Td
+/F128_0 9.963 Tf
+(As) 11.0689 Tj
+-306 TJm
+(a) 4.42357 Tj
+-306 TJm
+(special) 27.6673 Tj
+-306 TJm
+(case) 17.1463 Tj
+-306 TJm
+(of) 8.29918 Tj
+[1 0 0 1 191.852 550.635] cm
+0 g
+0 G
+[1 0 0 1 -191.852 -550.635] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+191.852 550.635 Td
+/F130_0 9.963 Tf
+(BZ_DATA_ERROR) 77.7114 Tj
+[1 0 0 1 269.561 550.635] cm
+0 g
+0 G
+[1 0 0 1 -269.561 -550.635] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+269.561 550.635 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-306 TJm
+(it) 5.53943 Tj
+-306 TJm
+(is) 6.64532 Tj
+-306 TJm
+(sometimes) 42.6217 Tj
+-306 TJm
+(useful) 24.3496 Tj
+-306 TJm
+(to) 7.75121 Tj
+-306 TJm
+(kno) 14.9445 Tj
+25 TJm
+(w) 7.19329 Tj
+-306 TJm
+(when) 21.5799 Tj
+-306 TJm
+(the) 12.1748 Tj
+-307 TJm
+(com) 17.1563 Tj
+1 TJm
+(pressed) 29.879 Tj
+-306 TJm
+(stream) 26.5614 Tj
+-306 TJm
+(does) 18.2622 Tj
+108 538.68 Td
+(not) 12.7327 Tj
+-250 TJm
+(start) 17.1563 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(correct) 27.6573 Tj
+-250 TJm
+(m) 7.75121 Tj
+1 TJm
+(agic) 16.5984 Tj
+-250 TJm
+(bytes) 21.0319 Tj
+-250 TJm
+(\() 3.31768 Tj
+[1 0 0 1 261.562 538.68] cm
+0 g
+0 G
+[1 0 0 1 -261.562 -538.68] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+261.562 538.68 Td
+/F130_0 9.963 Tf
+('B') 17.9334 Tj
+-600 TJm
+('Z') 17.9334 Tj
+-600 TJm
+('h') 17.9334 Tj
+[1 0 0 1 327.316 538.68] cm
+0 g
+0 G
+[1 0 0 1 -327.316 -538.68] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+327.316 538.68 Td
+/F128_0 9.963 Tf
+(\).) 5.80843 Tj
+[1 0 0 1 72 536.523] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -522.576] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 512.777 Td
+/F130_0 9.963 Tf
+(BZ_IO_ERROR) 65.7558 Tj
+[1 0 0 1 137.753 512.777] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -68.244 -1.165] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -511.612] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 500.822 Td
+/F128_0 9.963 Tf
+(Returned) 36.5244 Tj
+-233 TJm
+(by) 9.963 Tj
+[1 0 0 1 159.123 500.822] cm
+0 g
+0 G
+[1 0 0 1 -159.123 -500.822] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+159.123 500.822 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 218.899 500.822] cm
+0 g
+0 G
+[1 0 0 1 -218.899 -500.822] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+221.218 500.822 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 237.922 500.822] cm
+0 g
+0 G
+[1 0 0 1 -237.922 -500.822] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+237.922 500.822 Td
+/F130_0 9.963 Tf
+(BZ2_bzWrite) 65.7558 Tj
+[1 0 0 1 303.676 500.822] cm
+0 g
+0 G
+[1 0 0 1 -303.676 -500.822] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+305.995 500.822 Td
+/F128_0 9.963 Tf
+(when) 21.5799 Tj
+-233 TJm
+(there) 19.916 Tj
+-232 TJm
+(is) 6.64532 Tj
+-233 TJm
+(an) 9.40507 Tj
+-233 TJm
+(error) 19.3581 Tj
+-232 TJm
+(reading) 29.879 Tj
+-233 TJm
+(or) 8.29918 Tj
+-233 TJm
+(writing) 28.7831 Tj
+-232 TJm
+(in) 7.75121 Tj
+-233 TJm
+(the) 12.1748 Tj
+-233 TJm
+(compress) 37.6303 Tj
+1 TJm
+(ed) 9.40507 Tj
+108 488.867 Td
+(\002le,) 15.2235 Tj
+-384 TJm
+(and) 14.3866 Tj
+-357 TJm
+(by) 9.963 Tj
+[1 0 0 1 158.511 488.867] cm
+0 g
+0 G
+[1 0 0 1 -158.511 -488.867] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+158.511 488.867 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadOpen) 83.6892 Tj
+[1 0 0 1 242.197 488.867] cm
+0 g
+0 G
+[1 0 0 1 -242.197 -488.867] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+245.755 488.867 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 263.698 488.867] cm
+0 g
+0 G
+[1 0 0 1 -263.698 -488.867] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+263.698 488.867 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteOpen) 89.667 Tj
+[1 0 0 1 353.362 488.867] cm
+0 g
+0 G
+[1 0 0 1 -353.362 -488.867] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+356.92 488.867 Td
+/F128_0 9.963 Tf
+(for) 11.6169 Tj
+-357 TJm
+(attempts) 33.7646 Tj
+-357 TJm
+(to) 7.75121 Tj
+-357 TJm
+(use) 13.2807 Tj
+-357 TJm
+(a) 4.42357 Tj
+-357 TJm
+(\002le) 12.7327 Tj
+-357 TJm
+(for) 11.6169 Tj
+-357 TJm
+(which) 24.3496 Tj
+-357 TJm
+(the) 12.1748 Tj
+-357 TJm
+(error) 19.3581 Tj
+108 476.912 Td
+(indicator) 35.4185 Tj
+-260 TJm
+(\(viz,) 17.9832 Tj
+[1 0 0 1 166.603 476.912] cm
+0 g
+0 G
+[1 0 0 1 -166.603 -476.912] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+166.603 476.912 Td
+/F130_0 9.963 Tf
+(ferror\(f\)) 53.8002 Tj
+[1 0 0 1 220.401 476.912] cm
+0 g
+0 G
+[1 0 0 1 -220.401 -476.912] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+220.401 476.912 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-260 TJm
+(is) 6.64532 Tj
+-260 TJm
+(set.) 13.5596 Tj
+-679 TJm
+(On) 12.1748 Tj
+-260 TJm
+(receipt) 27.1093 Tj
+-260 TJm
+(of) 8.29918 Tj
+[1 0 0 1 311.223 476.912] cm
+0 g
+0 G
+[1 0 0 1 -311.223 -476.912] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+311.223 476.912 Td
+/F130_0 9.963 Tf
+(BZ_IO_ERROR) 65.7558 Tj
+[1 0 0 1 376.976 476.912] cm
+0 g
+0 G
+[1 0 0 1 -376.976 -476.912] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+376.976 476.912 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-260 TJm
+(the) 12.1748 Tj
+-260 TJm
+(caller) 22.1278 Tj
+-260 TJm
+(should) 26.5713 Tj
+-259 TJm
+(consult) 28.7831 Tj
+[1 0 0 1 482.068 476.912] cm
+0 g
+0 G
+[1 0 0 1 -482.068 -476.912] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+482.068 476.912 Td
+/F130_0 9.963 Tf
+(errno) 29.889 Tj
+[1 0 0 1 511.956 476.912] cm
+0 g
+0 G
+[1 0 0 1 -511.956 -476.912] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+514.546 476.912 Td
+/F128_0 9.963 Tf
+(and/or) 25.4555 Tj
+[1 0 0 1 108 464.957] cm
+0 g
+0 G
+[1 0 0 1 -108 -464.957] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 464.957 Td
+/F130_0 9.963 Tf
+(perror) 35.8668 Tj
+[1 0 0 1 143.865 464.957] cm
+0 g
+0 G
+[1 0 0 1 -143.865 -464.957] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+146.356 464.957 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(acquire) 29.3211 Tj
+-250 TJm
+(operating-system) 68.6251 Tj
+-249 TJm
+(speci\002c) 30.437 Tj
+-250 TJm
+(information) 47.0453 Tj
+-250 TJm
+(about) 22.1378 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(problem.) 35.6974 Tj
+[1 0 0 1 72 462.8] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -448.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 439.054 Td
+/F130_0 9.963 Tf
+(BZ_UNEXPECTED_EOF) 101.623 Tj
+[1 0 0 1 173.619 439.054] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -104.11 -1.166] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -437.888] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 427.099 Td
+/F128_0 9.963 Tf
+(Returned) 36.5244 Tj
+-250 TJm
+(by) 9.963 Tj
+[1 0 0 1 159.467 427.099] cm
+0 g
+0 G
+[1 0 0 1 -159.467 -427.099] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+159.467 427.099 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 219.242 427.099] cm
+0 g
+0 G
+[1 0 0 1 -219.242 -427.099] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+221.733 427.099 Td
+/F128_0 9.963 Tf
+(when) 21.5799 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(\002nis) 17.1662 Tj
+1 TJm
+(hes) 13.2807 Tj
+-250 TJm
+(before) 25.4455 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(logical) 27.1193 Tj
+-250 TJm
+(end) 14.3866 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(stream) 26.5614 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(detected.) 35.6875 Tj
+[1 0 0 1 72 424.942] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -410.994] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 401.196 Td
+/F130_0 9.963 Tf
+(BZ_OUTBUFF_FULL) 89.667 Tj
+[1 0 0 1 161.664 401.196] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -92.154 -1.166] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -400.03] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 389.241 Td
+/F128_0 9.963 Tf
+(Returned) 36.5244 Tj
+-258 TJm
+(by) 9.963 Tj
+[1 0 0 1 159.632 389.241] cm
+0 g
+0 G
+[1 0 0 1 -159.632 -389.241] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+159.632 389.241 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffCompress) 143.467 Tj
+[1 0 0 1 303.094 389.241] cm
+0 g
+0 G
+[1 0 0 1 -303.094 -389.241] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+305.667 389.241 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 322.627 389.241] cm
+0 g
+0 G
+[1 0 0 1 -322.627 -389.241] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+322.627 389.241 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffDecompres) 149.445 Tj
+1 TJm
+(s) 5.9778 Tj
+[1 0 0 1 478.044 389.241] cm
+0 g
+0 G
+[1 0 0 1 -478.044 -389.241] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+480.617 389.241 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-258 TJm
+(indicate) 31.5429 Tj
+-258 TJm
+(that) 14.9445 Tj
+108 377.285 Td
+(the) 12.1748 Tj
+-250 TJm
+(output) 25.4654 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(will) 15.5024 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(\002t) 8.30914 Tj
+-250 TJm
+(in) 7.75121 Tj
+1 TJm
+(to) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(output) 25.4654 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-250 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vided.) 24.6285 Tj
+[1 0 0 1 72 375.129] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -3.985] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -351.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 328.585 Td
+/F121_0 20.659 Tf
+(3.3.) 34.4592 Tj
+-278 TJm
+(Lo) 25.2453 Tj
+15 TJm
+(w-le) 40.1818 Tj
+15 TJm
+(vel) 28.716 Tj
+-278 TJm
+(interface) 86.1067 Tj
+[1 0 0 1 72 328.327] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -318.364] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 297.964 Td
+/F121_0 17.215 Tf
+(3.3.1.) 43.0719 Tj
+[1 0 0 1 119.858 297.964] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -297.964] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 297.964 Td
+/F387_0 17.215 Tf
+(BZ2_bzCompressInit) 185.922 Tj
+[1 0 0 1 305.785 297.964] cm
+0 g
+0 G
+[1 0 0 1 -233.785 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -244.779] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.852 Td
+/F128_0 9.963 Tf
+(11) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 15 15
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -296.523] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 274.969 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 271.382] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(typedef) 41.8446 Tj
+-426 TJm
+(struct) 35.8668 Tj
+-426 TJm
+({) 5.9778 Tj
+98.488 699.676 Td
+(char) 23.9112 Tj
+-426 TJm
+(*next_in;) 53.8002 Tj
+98.488 687.721 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(avail_in;) 53.8002 Tj
+98.488 675.766 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(total_in_lo3) 71.7336 Tj
+1 TJm
+(2;) 11.9556 Tj
+98.488 663.811 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(total_in_hi3) 71.7336 Tj
+1 TJm
+(2;) 11.9556 Tj
+98.488 639.9 Td
+(char) 23.9112 Tj
+-426 TJm
+(*next_out;) 59.778 Tj
+98.488 627.945 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(avail_out;) 59.778 Tj
+98.488 615.99 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(total_out_lo) 71.7336 Tj
+1 TJm
+(32;) 17.9334 Tj
+98.488 604.035 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(total_out_hi) 71.7336 Tj
+1 TJm
+(32;) 17.9334 Tj
+98.488 580.124 Td
+(void) 23.9112 Tj
+-426 TJm
+(*state;) 41.8446 Tj
+98.488 556.214 Td
+(void) 23.9112 Tj
+-426 TJm
+(*\(*bzalloc\)\(void) 95.6448 Tj
+-426 TJm
+(*,i) 17.9334 Tj
+1 TJm
+(nt,int\);) 47.8224 Tj
+98.488 544.259 Td
+(void) 23.9112 Tj
+-426 TJm
+(\(*bzfree\)\(void) 83.6892 Tj
+-426 TJm
+(*,voi) 29.889 Tj
+1 TJm
+(d) 5.9778 Tj
+-426 TJm
+(*\);) 17.9334 Tj
+98.488 532.304 Td
+(void) 23.9112 Tj
+-426 TJm
+(*opaque;) 47.8224 Tj
+90 520.349 Td
+(}) 5.9778 Tj
+-426 TJm
+(bz_stream;) 59.778 Tj
+90 496.438 Td
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzCompressInit) 107.6 Tj
+-426 TJm
+(\() 5.9778 Tj
+-425 TJm
+(bz_stream) 53.8002 Tj
+-426 TJm
+(*strm,) 35.8668 Tj
+196.099 484.483 Td
+(int) 17.9334 Tj
+-426 TJm
+(blockSize100k,) 83.6892 Tj
+196.099 472.528 Td
+(int) 17.9334 Tj
+-426 TJm
+(verbosity,) 59.778 Tj
+196.099 460.573 Td
+(int) 17.9334 Tj
+-426 TJm
+(workFactor) 59.778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 445.031] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -435.068] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 423.113 Td
+/F128_0 9.963 Tf
+(Prepares) 34.3026 Tj
+-356 TJm
+(for) 11.6169 Tj
+-356 TJm
+(compressi) 40.4 Tj
+1 TJm
+(on.) 12.4538 Tj
+-1256 TJm
+(The) 15.4925 Tj
+[1 0 0 1 209.409 423.113] cm
+0 g
+0 G
+[1 0 0 1 -209.409 -423.113] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+209.409 423.113 Td
+/F130_0 9.963 Tf
+(bz_stream) 53.8002 Tj
+[1 0 0 1 263.208 423.113] cm
+0 g
+0 G
+[1 0 0 1 -263.208 -423.113] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+266.754 423.113 Td
+/F128_0 9.963 Tf
+(structure) 34.8605 Tj
+-356 TJm
+(holds) 21.5898 Tj
+-356 TJm
+(all) 9.963 Tj
+-356 TJm
+(d) 4.9815 Tj
+1 TJm
+(ata) 11.6169 Tj
+-356 TJm
+(pertaining) 40.4 Tj
+-356 TJm
+(to) 7.75121 Tj
+-356 TJm
+(the) 12.1748 Tj
+-356 TJm
+(compression) 50.363 Tj
+-356 TJm
+(acti) 14.3866 Tj
+25 TJm
+(vit) 10.5209 Tj
+1 TJm
+(y) 4.9815 Tj
+65 TJm
+(.) 2.49075 Tj
+-1256 TJm
+(A) 7.19329 Tj
+[1 0 0 1 72 411.158] cm
+0 g
+0 G
+[1 0 0 1 -72 -411.158] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 411.158 Td
+/F130_0 9.963 Tf
+(bz_stream) 53.8002 Tj
+[1 0 0 1 125.798 411.158] cm
+0 g
+0 G
+[1 0 0 1 -125.798 -411.158] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+128.581 411.158 Td
+/F128_0 9.963 Tf
+(structure) 34.8605 Tj
+-279 TJm
+(should) 26.5713 Tj
+-279 TJm
+(be) 9.40507 Tj
+-280 TJm
+(allocate) 30.9849 Tj
+1 TJm
+(d) 4.9815 Tj
+-280 TJm
+(and) 14.3866 Tj
+-279 TJm
+(initialised) 39.304 Tj
+-279 TJm
+(prior) 19.3681 Tj
+-279 TJm
+(to) 7.75121 Tj
+-280 TJm
+(the) 12.1748 Tj
+-279 TJm
+(call.) 16.8773 Tj
+-796 TJm
+(The) 15.4925 Tj
+-279 TJm
+(\002elds) 21.5898 Tj
+-279 TJm
+(of) 8.29918 Tj
+[1 0 0 1 431.939 411.158] cm
+0 g
+0 G
+[1 0 0 1 -431.939 -411.158] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+431.939 411.158 Td
+/F130_0 9.963 Tf
+(bz_stream) 53.8002 Tj
+[1 0 0 1 485.738 411.158] cm
+0 g
+0 G
+[1 0 0 1 -485.738 -411.158] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+488.52 411.158 Td
+/F128_0 9.963 Tf
+(comprise) 36.5244 Tj
+-279 TJm
+(the) 12.1748 Tj
+72 399.203 Td
+(entirety) 30.437 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(user) 16.5984 Tj
+20 TJm
+(-visible) 29.889 Tj
+-250 TJm
+(d) 4.9815 Tj
+1 TJm
+(ata.) 14.1076 Tj
+[1 0 0 1 204.422 399.203] cm
+0 g
+0 G
+[1 0 0 1 -204.422 -399.203] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.422 399.203 Td
+/F130_0 9.963 Tf
+(state) 29.889 Tj
+[1 0 0 1 234.31 399.203] cm
+0 g
+0 G
+[1 0 0 1 -234.31 -399.203] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+236.8 399.203 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(pointer) 28.2252 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(pri) 11.0689 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ate) 11.6169 Tj
+-250 TJm
+(data) 16.5984 Tj
+-249 TJm
+(structures) 38.7361 Tj
+-250 TJm
+(required) 33.1967 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(compression.) 52.8537 Tj
+[1 0 0 1 72 397.046] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -387.084] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 377.285 Td
+/F128_0 9.963 Tf
+(Custom) 31.0049 Tj
+-372 TJm
+(memory) 33.2067 Tj
+-372 TJm
+(allocators) 38.7361 Tj
+-372 TJm
+(are) 12.1648 Tj
+-372 TJm
+(supported,) 41.7848 Tj
+-402 TJm
+(via) 12.1748 Tj
+-372 TJm
+(\002elds) 21.5898 Tj
+[1 0 0 1 288.908 377.285] cm
+0 g
+0 G
+[1 0 0 1 -288.908 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+288.908 377.285 Td
+/F130_0 9.963 Tf
+(bzalloc) 41.8446 Tj
+[1 0 0 1 330.751 377.285] cm
+0 g
+0 G
+[1 0 0 1 -330.751 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+330.751 377.285 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 337.253 377.285] cm
+0 g
+0 G
+[1 0 0 1 -337.253 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+337.253 377.285 Td
+/F130_0 9.963 Tf
+(bzfree) 35.8668 Tj
+[1 0 0 1 373.118 377.285] cm
+0 g
+0 G
+[1 0 0 1 -373.118 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+373.118 377.285 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-403 TJm
+(and) 14.3866 Tj
+[1 0 0 1 397.714 377.285] cm
+0 g
+0 G
+[1 0 0 1 -397.714 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+397.714 377.285 Td
+/F130_0 9.963 Tf
+(opaque) 35.8668 Tj
+[1 0 0 1 433.579 377.285] cm
+0 g
+0 G
+[1 0 0 1 -433.579 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+433.579 377.285 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1353 TJm
+(The) 15.4925 Tj
+-372 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+[1 0 0 1 493.782 377.285] cm
+0 g
+0 G
+[1 0 0 1 -493.782 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+493.782 377.285 Td
+/F130_0 9.963 Tf
+(opaque) 35.8668 Tj
+[1 0 0 1 529.648 377.285] cm
+0 g
+0 G
+[1 0 0 1 -529.648 -377.285] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+533.355 377.285 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+72 365.33 Td
+(passed) 26.5614 Tj
+-306 TJm
+(to) 7.75121 Tj
+-306 TJm
+(as) 8.29918 Tj
+-306 TJm
+(the) 12.1748 Tj
+-306 TJm
+(\002) 5.53943 Tj
+1 TJm
+(rst) 9.963 Tj
+-306 TJm
+(ar) 7.74125 Tj
+18 TJm
+(gument) 29.889 Tj
+-306 TJm
+(to) 7.75121 Tj
+-306 TJm
+(all) 9.963 Tj
+-306 TJm
+(calls) 18.2622 Tj
+-306 TJm
+(to) 7.75121 Tj
+[1 0 0 1 253.941 365.33] cm
+0 g
+0 G
+[1 0 0 1 -253.941 -365.33] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+253.941 365.33 Td
+/F130_0 9.963 Tf
+(bzalloc) 41.8446 Tj
+[1 0 0 1 295.784 365.33] cm
+0 g
+0 G
+[1 0 0 1 -295.784 -365.33] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+298.832 365.33 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 316.266 365.33] cm
+0 g
+0 G
+[1 0 0 1 -316.266 -365.33] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+316.266 365.33 Td
+/F130_0 9.963 Tf
+(bzfree) 35.8668 Tj
+[1 0 0 1 352.132 365.33] cm
+0 g
+0 G
+[1 0 0 1 -352.132 -365.33] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+352.132 365.33 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-320 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-306 TJm
+(is) 6.64532 Tj
+-306 TJm
+(otherwise) 38.7361 Tj
+-305 TJm
+(ignored) 30.437 Tj
+-306 TJm
+(by) 9.963 Tj
+-306 TJm
+(the) 12.1748 Tj
+-306 TJm
+(library) 26.5614 Tj
+65 TJm
+(.) 2.49075 Tj
+-956 TJm
+(The) 15.4925 Tj
+72 353.375 Td
+(call) 14.3866 Tj
+[1 0 0 1 89.431 353.375] cm
+0 g
+0 G
+[1 0 0 1 -89.431 -353.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+89.431 353.375 Td
+/F130_0 9.963 Tf
+(bzalloc) 41.8446 Tj
+-600 TJm
+(\() 5.9778 Tj
+-600 TJm
+(opaque,) 41.8446 Tj
+-600 TJm
+(n,) 11.9556 Tj
+-600 TJm
+(m) 5.9778 Tj
+-600 TJm
+(\)) 5.9778 Tj
+[1 0 0 1 232.893 353.375] cm
+0 g
+0 G
+[1 0 0 1 -232.893 -353.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+235.938 353.375 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-306 TJm
+(e) 4.42357 Tj
+15 TJm
+(xpect) 21.5799 Tj
+1 TJm
+(ed) 9.40507 Tj
+-306 TJm
+(to) 7.75121 Tj
+-306 TJm
+(return) 23.7916 Tj
+-305 TJm
+(a) 4.42357 Tj
+-306 TJm
+(pointer) 28.2252 Tj
+[1 0 0 1 360.3 353.375] cm
+0 g
+0 G
+[1 0 0 1 -360.3 -353.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+360.3 353.375 Td
+/F130_0 9.963 Tf
+(p) 5.9778 Tj
+[1 0 0 1 366.277 353.375] cm
+0 g
+0 G
+[1 0 0 1 -366.277 -353.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+369.322 353.375 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+[1 0 0 1 380.118 353.375] cm
+0 g
+0 G
+[1 0 0 1 -380.118 -353.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+380.118 353.375 Td
+/F130_0 9.963 Tf
+(n) 5.9778 Tj
+-600 TJm
+(*) 5.9778 Tj
+-600 TJm
+(m) 5.9778 Tj
+[1 0 0 1 410.006 353.375] cm
+0 g
+0 G
+[1 0 0 1 -410.006 -353.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+413.051 353.375 Td
+/F128_0 9.963 Tf
+(bytes) 21.0319 Tj
+-306 TJm
+(of) 8.29918 Tj
+-305 TJm
+(memory) 33.2067 Tj
+65 TJm
+(,) 2.49075 Tj
+-320 TJm
+(and) 14.3866 Tj
+[1 0 0 1 504.135 353.375] cm
+0 g
+0 G
+[1 0 0 1 -504.135 -353.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+504.135 353.375 Td
+/F130_0 9.963 Tf
+(bzfree) 35.8668 Tj
+72 341.42 Td
+(\() 5.9778 Tj
+-600 TJm
+(opaque,) 41.8446 Tj
+-600 TJm
+(p) 5.9778 Tj
+-600 TJm
+(\)) 5.9778 Tj
+[1 0 0 1 149.709 341.42] cm
+0 g
+0 G
+[1 0 0 1 -149.709 -341.42] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+152.199 341.42 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-250 TJm
+(free) 15.4825 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(memory) 33.2067 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 339.263] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -329.3] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 319.502 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-280 TJm
+(you) 14.9445 Tj
+-280 TJm
+(don') 18.2622 Tj
+18 TJm
+(t) 2.76971 Tj
+-279 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-280 TJm
+(to) 7.75121 Tj
+-280 TJm
+(use) 13.2807 Tj
+-280 TJm
+(a) 4.42357 Tj
+-279 TJm
+(custom) 28.7831 Tj
+-280 TJm
+(memory) 33.2067 Tj
+-280 TJm
+(allocator) 34.8605 Tj
+40 TJm
+(,) 2.49075 Tj
+-287 TJm
+(set) 11.0689 Tj
+[1 0 0 1 299.9 319.502] cm
+0 g
+0 G
+[1 0 0 1 -299.9 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+299.9 319.502 Td
+/F130_0 9.963 Tf
+(bzalloc) 41.8446 Tj
+[1 0 0 1 341.743 319.502] cm
+0 g
+0 G
+[1 0 0 1 -341.743 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+341.743 319.502 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 347.096 319.502] cm
+0 g
+0 G
+[1 0 0 1 -347.096 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+347.096 319.502 Td
+/F130_0 9.963 Tf
+(bzfree) 35.8668 Tj
+[1 0 0 1 382.961 319.502] cm
+0 g
+0 G
+[1 0 0 1 -382.961 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+385.749 319.502 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 402.923 319.502] cm
+0 g
+0 G
+[1 0 0 1 -402.923 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+402.923 319.502 Td
+/F130_0 9.963 Tf
+(opaque) 35.8668 Tj
+[1 0 0 1 438.788 319.502] cm
+0 g
+0 G
+[1 0 0 1 -438.788 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+441.576 319.502 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+[1 0 0 1 452.115 319.502] cm
+0 g
+0 G
+[1 0 0 1 -452.115 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+452.115 319.502 Td
+/F130_0 9.963 Tf
+(NULL) 23.9112 Tj
+[1 0 0 1 476.025 319.502] cm
+0 g
+0 G
+[1 0 0 1 -476.025 -319.502] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+476.025 319.502 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-280 TJm
+(and) 14.3866 Tj
+-280 TJm
+(the) 12.1748 Tj
+-279 TJm
+(library) 26.5614 Tj
+72 307.547 Td
+(will) 15.5024 Tj
+-250 TJm
+(then) 17.1563 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(standard) 33.7546 Tj
+[1 0 0 1 176.318 307.547] cm
+0 g
+0 G
+[1 0 0 1 -176.318 -307.547] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+176.318 307.547 Td
+/F130_0 9.963 Tf
+(malloc) 35.8668 Tj
+[1 0 0 1 212.183 307.547] cm
+0 g
+0 G
+[1 0 0 1 -212.183 -307.547] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+214.674 307.547 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 219.934 307.547] cm
+0 g
+0 G
+[1 0 0 1 -219.934 -307.547] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+219.934 307.547 Td
+/F130_0 9.963 Tf
+(free) 23.9112 Tj
+[1 0 0 1 243.844 307.547] cm
+0 g
+0 G
+[1 0 0 1 -243.844 -307.547] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+246.335 307.547 Td
+/F128_0 9.963 Tf
+(routines.) 34.5915 Tj
+[1 0 0 1 72 307.338] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -297.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 285.629 Td
+/F128_0 9.963 Tf
+(Before) 27.1093 Tj
+-362 TJm
+(calling) 27.1193 Tj
+[1 0 0 1 133.438 285.629] cm
+0 g
+0 G
+[1 0 0 1 -133.438 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+133.438 285.629 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 241.035 285.629] cm
+0 g
+0 G
+[1 0 0 1 -241.035 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+241.035 285.629 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-390 TJm
+(\002elds) 21.5898 Tj
+[1 0 0 1 272.606 285.629] cm
+0 g
+0 G
+[1 0 0 1 -272.606 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+272.606 285.629 Td
+/F130_0 9.963 Tf
+(bzalloc) 41.8446 Tj
+[1 0 0 1 314.449 285.629] cm
+0 g
+0 G
+[1 0 0 1 -314.449 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+314.449 285.629 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 320.825 285.629] cm
+0 g
+0 G
+[1 0 0 1 -320.825 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+320.825 285.629 Td
+/F130_0 9.963 Tf
+(bzfree) 35.8668 Tj
+[1 0 0 1 356.69 285.629] cm
+0 g
+0 G
+[1 0 0 1 -356.69 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+360.296 285.629 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 378.288 285.629] cm
+0 g
+0 G
+[1 0 0 1 -378.288 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+378.288 285.629 Td
+/F130_0 9.963 Tf
+(opaque) 35.8668 Tj
+[1 0 0 1 414.154 285.629] cm
+0 g
+0 G
+[1 0 0 1 -414.154 -285.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+417.76 285.629 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-362 TJm
+(be) 9.40507 Tj
+-362 TJm
+(\002lled) 20.4839 Tj
+-362 TJm
+(appropriat) 40.9479 Tj
+1 TJm
+(ely) 12.1748 Tj
+65 TJm
+(,) 2.49075 Tj
+72 273.674 Td
+(as) 8.29918 Tj
+-322 TJm
+(just) 14.3965 Tj
+-323 TJm
+(described.) 40.669 Tj
+-1055 TJm
+(U) 7.19329 Tj
+1 TJm
+(pon) 14.9445 Tj
+-323 TJm
+(return,) 26.2824 Tj
+-340 TJm
+(the) 12.1748 Tj
+-323 TJm
+(internal) 30.437 Tj
+-322 TJm
+(state) 18.2622 Tj
+-322 TJm
+(will) 15.5024 Tj
+-323 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-322 TJm
+(been) 18.8101 Tj
+-323 TJm
+(allocated) 35.9664 Tj
+-322 TJm
+(and) 14.3866 Tj
+-322 TJm
+(initialised,) 41.7948 Tj
+-341 TJm
+(and) 14.3866 Tj
+[1 0 0 1 459.801 273.674] cm
+0 g
+0 G
+[1 0 0 1 -459.801 -273.674] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+459.801 273.674 Td
+/F130_0 9.963 Tf
+(total_in_lo32) 77.7114 Tj
+[1 0 0 1 537.509 273.674] cm
+0 g
+0 G
+[1 0 0 1 -537.509 -273.674] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+537.509 273.674 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 72 261.719] cm
+0 g
+0 G
+[1 0 0 1 -72 -261.719] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 261.719 Td
+/F130_0 9.963 Tf
+(total_in_hi32) 77.7114 Tj
+[1 0 0 1 149.709 261.719] cm
+0 g
+0 G
+[1 0 0 1 -149.709 -261.719] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+149.709 261.719 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 155.006 261.719] cm
+0 g
+0 G
+[1 0 0 1 -155.006 -261.719] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+155.006 261.719 Td
+/F130_0 9.963 Tf
+(total_out_lo32) 83.6892 Tj
+[1 0 0 1 238.692 261.719] cm
+0 g
+0 G
+[1 0 0 1 -238.692 -261.719] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+241.435 261.719 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 258.564 261.719] cm
+0 g
+0 G
+[1 0 0 1 -258.564 -261.719] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+258.564 261.719 Td
+/F130_0 9.963 Tf
+(total_out_hi32) 83.6892 Tj
+[1 0 0 1 342.25 261.719] cm
+0 g
+0 G
+[1 0 0 1 -342.25 -261.719] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+344.994 261.719 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-275 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-276 TJm
+(b) 4.9815 Tj
+1 TJm
+(een) 13.8286 Tj
+-276 TJm
+(set) 11.0689 Tj
+-275 TJm
+(to) 7.75121 Tj
+-275 TJm
+(zero.) 19.6371 Tj
+-772 TJm
+(These) 23.7916 Tj
+-276 TJm
+(four) 16.5984 Tj
+-275 TJm
+(\002elds) 21.5898 Tj
+-275 TJm
+(are) 12.1648 Tj
+72 249.763 Td
+(used) 18.2622 Tj
+-339 TJm
+(by) 9.963 Tj
+-340 TJm
+(the) 12.1748 Tj
+-339 TJm
+(library) 26.5614 Tj
+-340 TJm
+(to) 7.75121 Tj
+-339 TJm
+(inform) 27.1193 Tj
+-340 TJm
+(the) 12.1748 Tj
+-339 TJm
+(caller) 22.1278 Tj
+-340 TJm
+(of) 8.29918 Tj
+-339 TJm
+(the) 12.1748 Tj
+-340 TJm
+(total) 17.7142 Tj
+-339 TJm
+(amount) 29.889 Tj
+-340 TJm
+(of) 8.29918 Tj
+-339 TJm
+(data) 16.5984 Tj
+-339 TJm
+(passed) 26.5614 Tj
+-340 TJm
+(into) 15.5024 Tj
+-339 TJm
+(and) 14.3866 Tj
+-340 TJm
+(out) 12.7327 Tj
+-339 TJm
+(of) 8.29918 Tj
+-340 TJm
+(the) 12.1748 Tj
+-339 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-362 TJm
+(respecti) 30.9849 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ely) 12.1748 Tj
+65 TJm
+(.) 2.49075 Tj
+72 237.808 Td
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-376 TJm
+(should) 26.5713 Tj
+-377 TJm
+(not) 12.7327 Tj
+-376 TJm
+(try) 11.0689 Tj
+-376 TJm
+(to) 7.75121 Tj
+-377 TJm
+(c) 4.42357 Tj
+1 TJm
+(hange) 23.7916 Tj
+-377 TJm
+(them.) 22.4168 Tj
+-1378 TJm
+(As) 11.0689 Tj
+-376 TJm
+(of) 8.29918 Tj
+-377 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+1 TJm
+(rsion) 19.926 Tj
+-377 TJm
+(1.0,) 14.9445 Tj
+-408 TJm
+(64-bit) 23.8016 Tj
+-376 TJm
+(counts) 26.0134 Tj
+-376 TJm
+(are) 12.1648 Tj
+-376 TJm
+(maintained,) 46.7663 Tj
+-408 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-377 TJm
+(on) 9.963 Tj
+-376 TJm
+(32-bit) 23.8016 Tj
+-376 TJm
+(platforms,) 40.6789 Tj
+72 225.853 Td
+(using) 21.5898 Tj
+-371 TJm
+(the) 12.1748 Tj
+[1 0 0 1 113.148 225.853] cm
+0 g
+0 G
+[1 0 0 1 -113.148 -225.853] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+113.148 225.853 Td
+/F130_0 9.963 Tf
+(_hi32) 29.889 Tj
+[1 0 0 1 143.036 225.853] cm
+0 g
+0 G
+[1 0 0 1 -143.036 -225.853] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+146.729 225.853 Td
+/F128_0 9.963 Tf
+(\002elds) 21.5898 Tj
+-371 TJm
+(to) 7.75121 Tj
+-370 TJm
+(store) 19.3681 Tj
+-371 TJm
+(the) 12.1748 Tj
+-370 TJm
+(upper) 22.6858 Tj
+-371 TJm
+(32) 9.963 Tj
+-370 TJm
+(bits) 14.3965 Tj
+-371 TJm
+(of) 8.29918 Tj
+-371 TJm
+(the) 12.1748 Tj
+-370 TJm
+(count.) 24.6285 Tj
+-1344 TJm
+(So,) 13.0117 Tj
+-401 TJm
+(for) 11.6169 Tj
+-370 TJm
+(e) 4.42357 Tj
+15 TJm
+(xample,) 31.8218 Tj
+-401 TJm
+(the) 12.1748 Tj
+-370 TJm
+(total) 17.7142 Tj
+-371 TJm
+(amount) 29.889 Tj
+-371 TJm
+(of) 8.29918 Tj
+-370 TJm
+(data) 16.5984 Tj
+-371 TJm
+(in) 7.75121 Tj
+-370 TJm
+(is) 6.64532 Tj
+[1 0 0 1 72 213.898] cm
+0 g
+0 G
+[1 0 0 1 -72 -213.898] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 213.898 Td
+/F130_0 9.963 Tf
+(\(total_in_hi32) 83.6892 Tj
+-600 TJm
+(<<) 11.9556 Tj
+-600 TJm
+(32\)) 17.9334 Tj
+-600 TJm
+(+) 5.9778 Tj
+-600 TJm
+(to) 11.9556 Tj
+1 TJm
+(tal_in_lo32) 65.7558 Tj
+[1 0 0 1 293.171 213.898] cm
+0 g
+0 G
+[1 0 0 1 -293.171 -213.898] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+293.171 213.898 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 212.732] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -202.77] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 191.98 Td
+/F128_0 9.963 Tf
+(P) 5.53943 Tj
+15 TJm
+(arameter) 34.8506 Tj
+[1 0 0 1 115.367 191.98] cm
+0 g
+0 G
+[1 0 0 1 -115.367 -191.98] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+115.367 191.98 Td
+/F130_0 9.963 Tf
+(blockSize100k) 77.7114 Tj
+[1 0 0 1 193.076 191.98] cm
+0 g
+0 G
+[1 0 0 1 -193.076 -191.98] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+196.205 191.98 Td
+/F128_0 9.963 Tf
+(speci\002es) 34.3126 Tj
+-314 TJm
+(the) 12.1748 Tj
+-314 TJm
+(block) 22.1378 Tj
+-314 TJm
+(size) 15.4925 Tj
+-314 TJm
+(to) 7.75121 Tj
+-314 TJm
+(be) 9.40507 Tj
+-314 TJm
+(used) 18.2622 Tj
+-314 TJm
+(for) 11.6169 Tj
+-314 TJm
+(comp) 22.1378 Tj
+1 TJm
+(ression.) 30.7159 Tj
+-1005 TJm
+(It) 6.08739 Tj
+-314 TJm
+(sh) 8.85711 Tj
+1 TJm
+(ould) 17.7142 Tj
+-314 TJm
+(be) 9.40507 Tj
+-314 TJm
+(a) 4.42357 Tj
+-314 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-314 TJm
+(between) 33.1967 Tj
+-314 TJm
+(1) 4.9815 Tj
+72 180.025 Td
+(and) 14.3866 Tj
+-289 TJm
+(9) 4.9815 Tj
+-289 TJm
+(inclusi) 26.5713 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e,) 6.91432 Tj
+-299 TJm
+(and) 14.3866 Tj
+-289 TJm
+(the) 12.1748 Tj
+-289 TJm
+(actua) 21.0219 Tj
+1 TJm
+(l) 2.76971 Tj
+-290 TJm
+(b) 4.9815 Tj
+1 TJm
+(lock) 17.1563 Tj
+-289 TJm
+(size) 15.4925 Tj
+-289 TJm
+(used) 18.2622 Tj
+-289 TJm
+(is) 6.64532 Tj
+-289 TJm
+(100000) 29.889 Tj
+-289 TJm
+(x) 4.9815 Tj
+-289 TJm
+(this) 14.3965 Tj
+-289 TJm
+(\002gure.) 25.7344 Tj
+-854 TJm
+(9) 4.9815 Tj
+-289 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-289 TJm
+(the) 12.1748 Tj
+-289 TJm
+(best) 16.0504 Tj
+-289 TJm
+(compression) 50.363 Tj
+-289 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-289 TJm
+(tak) 12.1748 Tj
+10 TJm
+(es) 8.29918 Tj
+-289 TJm
+(most) 19.378 Tj
+72 168.07 Td
+(memory) 33.2067 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 165.913] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -155.95] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 146.152 Td
+/F128_0 9.963 Tf
+(P) 5.53943 Tj
+15 TJm
+(arameter) 34.8506 Tj
+[1 0 0 1 115.095 146.152] cm
+0 g
+0 G
+[1 0 0 1 -115.095 -146.152] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+115.095 146.152 Td
+/F130_0 9.963 Tf
+(verbosity) 53.8002 Tj
+[1 0 0 1 168.894 146.152] cm
+0 g
+0 G
+[1 0 0 1 -168.894 -146.152] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+171.75 146.152 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-287 TJm
+(be) 9.40507 Tj
+-286 TJm
+(set) 11.0689 Tj
+-287 TJm
+(to) 7.75121 Tj
+-287 TJm
+(a) 4.42357 Tj
+-286 TJm
+(number) 30.437 Tj
+-287 TJm
+(between) 33.1967 Tj
+-287 TJm
+(0) 4.9815 Tj
+-286 TJm
+(and) 14.3866 Tj
+-287 TJm
+(4) 4.9815 Tj
+-287 TJm
+(inclusi) 26.5713 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e.) 6.91432 Tj
+-840 TJm
+(0) 4.9815 Tj
+-287 TJm
+(is) 6.64532 Tj
+-286 TJm
+(silent,) 24.0806 Tj
+-296 TJm
+(and) 14.3866 Tj
+-287 TJm
+(greater) 27.6573 Tj
+-286 TJm
+(numbers) 34.3126 Tj
+-287 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+72 134.197 Td
+(increasingly) 48.6991 Tj
+-342 TJm
+(v) 4.9815 Tj
+15 TJm
+(erbose) 26.0034 Tj
+-342 TJm
+(monitoring/deb) 61.4418 Tj
+20 TJm
+(ugging) 27.6772 Tj
+-342 TJm
+(output.) 27.9562 Tj
+-1173 TJm
+(If) 6.63536 Tj
+-342 TJm
+(the) 12.1748 Tj
+-342 TJm
+(library) 26.5614 Tj
+-342 TJm
+(has) 13.2807 Tj
+-342 TJm
+(been) 18.8101 Tj
+-342 TJm
+(compiled) 37.0823 Tj
+-342 TJm
+(with) 17.7142 Tj
+[1 0 0 1 446.429 134.197] cm
+0 g
+0 G
+[1 0 0 1 -446.429 -134.197] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+446.429 134.197 Td
+/F130_0 9.963 Tf
+(-DBZ_NO_STDIO) 77.7114 Tj
+[1 0 0 1 524.138 134.197] cm
+0 g
+0 G
+[1 0 0 1 -524.138 -134.197] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+524.138 134.197 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-342 TJm
+(no) 9.963 Tj
+72 122.242 Td
+(such) 18.2622 Tj
+-250 TJm
+(output) 25.4654 Tj
+-250 TJm
+(will) 15.5024 Tj
+-250 TJm
+(appear) 26.5514 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-249 TJm
+(v) 4.9815 Tj
+15 TJm
+(erbosity) 32.1008 Tj
+-250 TJm
+(setting.) 29.0621 Tj
+[1 0 0 1 72 120.085] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -110.122] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 100.324 Td
+/F128_0 9.963 Tf
+(P) 5.53943 Tj
+15 TJm
+(arameter) 34.8506 Tj
+[1 0 0 1 116.619 100.324] cm
+0 g
+0 G
+[1 0 0 1 -116.619 -100.324] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+116.619 100.324 Td
+/F130_0 9.963 Tf
+(workFactor) 59.778 Tj
+[1 0 0 1 176.395 100.324] cm
+0 g
+0 G
+[1 0 0 1 -176.395 -100.324] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+180.775 100.324 Td
+/F128_0 9.963 Tf
+(controls) 32.1008 Tj
+-439 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-440 TJm
+(the) 12.1748 Tj
+-440 TJm
+(compr) 25.4555 Tj
+1 TJm
+(ession) 24.9075 Tj
+-440 TJm
+(phase) 22.6858 Tj
+-440 TJm
+(be) 9.40507 Tj
+1 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-440 TJm
+(when) 21.5799 Tj
+-440 TJm
+(presen) 26.0034 Tj
+1 TJm
+(ted) 12.1748 Tj
+-440 TJm
+(with) 17.7142 Tj
+-440 TJm
+(w) 7.19329 Tj
+10 TJm
+(orst) 14.9445 Tj
+-439 TJm
+(case,) 19.6371 Tj
+-487 TJm
+(highly) 25.4654 Tj
+72 88.369 Td
+(repetiti) 28.2252 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e,) 6.91432 Tj
+-432 TJm
+(input) 20.4839 Tj
+-396 TJm
+(data.) 19.0891 Tj
+-1497 TJm
+(If) 6.63536 Tj
+-396 TJm
+(compression) 50.363 Tj
+-396 TJm
+(runs) 17.1563 Tj
+-396 TJm
+(into) 15.5024 Tj
+-396 TJm
+(dif) 11.0689 Tj
+25 TJm
+(\002culties) 31.5528 Tj
+-396 TJm
+(caused) 27.1093 Tj
+-396 TJm
+(by) 9.963 Tj
+-396 TJm
+(repetiti) 28.2252 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-396 TJm
+(data,) 19.0891 Tj
+-432 TJm
+(the) 12.1748 Tj
+-396 TJm
+(library) 26.5614 Tj
+-396 TJm
+(switches) 34.3126 Tj
+-396 TJm
+(from) 19.3681 Tj
+[1 0 0 1 72 50.852] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.852 Td
+/F128_0 9.963 Tf
+(12) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 16 16
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(the) 12.1748 Tj
+-255 TJm
+(stan) 16.0504 Tj
+1 TJm
+(dard) 17.7043 Tj
+-255 TJm
+(sorting) 27.6772 Tj
+-255 TJm
+(alg) 12.1748 Tj
+1 TJm
+(orithm) 26.5713 Tj
+-255 TJm
+(to) 7.75121 Tj
+-255 TJm
+(a) 4.42357 Tj
+-254 TJm
+(f) 3.31768 Tj
+10 TJm
+(allback) 28.7731 Tj
+-255 TJm
+(algorithm) 38.7461 Tj
+1 TJm
+(.) 2.49075 Tj
+-648 TJm
+(The) 15.4925 Tj
+-255 TJm
+(f) 3.31768 Tj
+10 TJm
+(allback) 28.7731 Tj
+-254 TJm
+(is) 6.64532 Tj
+-255 TJm
+(slo) 11.6268 Tj
+25 TJm
+(wer) 14.9345 Tj
+-254 TJm
+(than) 17.1563 Tj
+-255 TJm
+(the) 12.1748 Tj
+-255 TJm
+(st) 6.64532 Tj
+1 TJm
+(andard) 27.1093 Tj
+-255 TJm
+(algorithm) 38.7461 Tj
+-254 TJm
+(by) 9.963 Tj
+-255 TJm
+(perhaps) 30.9849 Tj
+72 698.082 Td
+(a) 4.42357 Tj
+-250 TJm
+(f) 3.31768 Tj
+10 TJm
+(actor) 19.916 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(three,) 22.4068 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(al) 7.19329 Tj
+10 TJm
+(w) 7.19329 Tj
+10 TJm
+(ays) 13.2807 Tj
+-250 TJm
+(b) 4.9815 Tj
+1 TJm
+(eha) 13.8286 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-250 TJm
+(reasonably) 43.1597 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(no) 9.963 Tj
+-250 TJm
+(matter) 25.4555 Tj
+-250 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(bad) 14.3866 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(input.) 22.9747 Tj
+[1 0 0 1 72 695.925] cm
+0 g
+0 G
+[1 0 0 1 0 -9.961] cm
+0 g
+0 G
+[1 0 0 1 -72 -685.964] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 676.165 Td
+/F128_0 9.963 Tf
+(Lo) 11.0689 Tj
+25 TJm
+(wer) 14.9345 Tj
+-240 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+1 TJm
+(s) 3.87561 Tj
+-240 TJm
+(of) 8.29918 Tj
+[1 0 0 1 138.421 676.165] cm
+0 g
+0 G
+[1 0 0 1 -138.421 -676.165] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+138.421 676.165 Td
+/F130_0 9.963 Tf
+(workFactor) 59.778 Tj
+[1 0 0 1 198.197 676.165] cm
+0 g
+0 G
+[1 0 0 1 -198.197 -676.165] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+200.585 676.165 Td
+/F128_0 9.963 Tf
+(reduce) 26.5514 Tj
+-240 TJm
+(the) 12.1748 Tj
+-239 TJm
+(amount) 29.889 Tj
+-240 TJm
+(of) 8.29918 Tj
+-239 TJm
+(ef) 7.74125 Tj
+25 TJm
+(fort) 14.3866 Tj
+-240 TJm
+(the) 12.1748 Tj
+-240 TJm
+(standard) 33.7546 Tj
+-239 TJm
+(algorithm) 38.7461 Tj
+-240 TJm
+(will) 15.5024 Tj
+-239 TJm
+(e) 4.42357 Tj
+15 TJm
+(xpend) 24.3496 Tj
+-240 TJm
+(before) 25.4455 Tj
+-240 TJm
+(re) 7.74125 Tj
+1 TJm
+(sorting) 27.6772 Tj
+-240 TJm
+(to) 7.75121 Tj
+-240 TJm
+(the) 12.1748 Tj
+72 664.21 Td
+(f) 3.31768 Tj
+10 TJm
+(allback.) 31.2639 Tj
+-618 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-248 TJm
+(should) 26.5713 Tj
+-247 TJm
+(set) 11.0689 Tj
+-248 TJm
+(this) 14.3965 Tj
+-247 TJm
+(parameter) 39.8321 Tj
+-247 TJm
+(carefully;) 38.1782 Tj
+-249 TJm
+(too) 12.7327 Tj
+-247 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(,) 2.49075 Tj
+-248 TJm
+(and) 14.3866 Tj
+-247 TJm
+(man) 17.1563 Tj
+15 TJm
+(y) 4.9815 Tj
+-248 TJm
+(inputs) 24.3595 Tj
+-247 TJm
+(will) 15.5024 Tj
+-248 TJm
+(be) 9.40507 Tj
+-247 TJm
+(handled) 31.5429 Tj
+-248 TJm
+(by) 9.963 Tj
+-247 TJm
+(the) 12.1748 Tj
+-248 TJm
+(f) 3.31768 Tj
+10 TJm
+(allback) 28.7731 Tj
+-247 TJm
+(algorithm) 38.7461 Tj
+72 652.255 Td
+(and) 14.3866 Tj
+-308 TJm
+(so) 8.85711 Tj
+-308 TJm
+(compress) 37.6303 Tj
+-308 TJm
+(rather) 23.2337 Tj
+-308 TJm
+(slo) 11.6268 Tj
+25 TJm
+(wly) 14.9445 Tj
+65 TJm
+(,) 2.49075 Tj
+-323 TJm
+(too) 12.7327 Tj
+-308 TJm
+(high,) 20.205 Tj
+-323 TJm
+(and) 14.3866 Tj
+-308 TJm
+(your) 18.2622 Tj
+-308 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(erage-to-w) 43.1498 Tj
+10 TJm
+(orst) 14.9445 Tj
+-308 TJm
+(case) 17.1463 Tj
+-308 TJm
+(compression) 50.363 Tj
+-308 TJm
+(times) 21.5898 Tj
+-308 TJm
+(can) 13.8286 Tj
+-308 TJm
+(become) 30.9849 Tj
+-308 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+-308 TJm
+(lar) 10.511 Tj
+18 TJm
+(ge.) 11.8958 Tj
+72 640.3 Td
+(The) 15.4925 Tj
+-250 TJm
+(def) 12.7228 Tj
+10 TJm
+(ault) 14.9445 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(30) 9.963 Tj
+-250 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-250 TJm
+(re) 7.74125 Tj
+1 TJm
+(asonable) 34.8605 Tj
+-250 TJm
+(beha) 18.8101 Tj
+20 TJm
+(viour) 21.0319 Tj
+-250 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(wide) 19.3681 Tj
+-250 TJm
+(range) 22.1278 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(circumstances.) 58.9311 Tj
+[1 0 0 1 72 638.143] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -628.181] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 618.383 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues) 20.474 Tj
+-250 TJm
+(range) 22.1278 Tj
+-250 TJm
+(from) 19.3681 Tj
+-249 TJm
+(0) 4.9815 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(250) 14.9445 Tj
+-250 TJm
+(inclusi) 26.5713 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e.) 6.91432 Tj
+-620 TJm
+(0) 4.9815 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(special) 27.6673 Tj
+-250 TJm
+(case,) 19.6371 Tj
+-250 TJm
+(equi) 17.1563 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(alent) 19.3681 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(usi) 11.6268 Tj
+1 TJm
+(ng) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(def) 12.7228 Tj
+10 TJm
+(ault) 14.9445 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(30.) 12.4538 Tj
+[1 0 0 1 72 616.226] cm
+0 g
+0 G
+[1 0 0 1 0 -9.961] cm
+0 g
+0 G
+[1 0 0 1 -72 -606.265] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 596.466 Td
+/F128_0 9.963 Tf
+(Note) 19.3681 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(out) 12.7327 Tj
+1 TJm
+(put) 12.7327 Tj
+-250 TJm
+(generated) 38.7262 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(same) 20.474 Tj
+-250 TJm
+(re) 7.74125 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(ardless) 27.6673 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(whether) 32.0908 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(the) 12.1748 Tj
+-249 TJm
+(f) 3.31768 Tj
+10 TJm
+(allback) 28.7731 Tj
+-250 TJm
+(algorithm) 38.7461 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(used.) 20.7529 Tj
+[1 0 0 1 72 594.309] cm
+0 g
+0 G
+[1 0 0 1 0 -9.961] cm
+0 g
+0 G
+[1 0 0 1 -72 -584.348] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 574.549 Td
+/F128_0 9.963 Tf
+(Be) 11.0689 Tj
+-303 TJm
+(a) 4.42357 Tj
+15 TJm
+(w) 7.19329 Tj
+10 TJm
+(are) 12.1648 Tj
+-303 TJm
+(also) 16.0504 Tj
+-303 TJm
+(that) 14.9445 Tj
+-303 TJm
+(this) 14.3965 Tj
+-303 TJm
+(parameter) 39.8321 Tj
+-303 TJm
+(may) 17.1563 Tj
+-303 TJm
+(disappear) 38.1782 Tj
+-303 TJm
+(entirely) 30.437 Tj
+-303 TJm
+(in) 7.75121 Tj
+-303 TJm
+(future) 23.7916 Tj
+-303 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-303 TJm
+(of) 8.29918 Tj
+-303 TJm
+(the) 12.1748 Tj
+-303 TJm
+(library) 26.5614 Tj
+65 TJm
+(.) 2.49075 Tj
+-939 TJm
+(In) 8.29918 Tj
+-303 TJm
+(principle) 35.4185 Tj
+-303 TJm
+(it) 5.53943 Tj
+-303 TJm
+(should) 26.5713 Tj
+-303 TJm
+(be) 9.40507 Tj
+72 562.594 Td
+(possible) 32.6587 Tj
+-270 TJm
+(to) 7.75121 Tj
+-270 TJm
+(de) 9.40507 Tj
+25 TJm
+(vise) 16.0504 Tj
+-270 TJm
+(a) 4.42357 Tj
+-270 TJm
+(good) 19.926 Tj
+-270 TJm
+(w) 7.19329 Tj
+10 TJm
+(ay) 9.40507 Tj
+-270 TJm
+(to) 7.75121 Tj
+-270 TJm
+(automatically) 54.2386 Tj
+-270 TJm
+(choose) 27.6673 Tj
+-270 TJm
+(which) 24.3496 Tj
+-270 TJm
+(algorithm) 38.7461 Tj
+-270 TJm
+(to) 7.75121 Tj
+-270 TJm
+(use.) 15.7714 Tj
+-740 TJm
+(Such) 19.926 Tj
+-270 TJm
+(a) 4.42357 Tj
+-270 TJm
+(mechanism) 45.3815 Tj
+-270 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-270 TJm
+(render) 25.4455 Tj
+-270 TJm
+(the) 12.1748 Tj
+72 550.639 Td
+(parameter) 39.8321 Tj
+-250 TJm
+(obsolete.) 35.6974 Tj
+[1 0 0 1 72 548.482] cm
+0 g
+0 G
+[1 0 0 1 0 -9.961] cm
+0 g
+0 G
+[1 0 0 1 -72 -538.521] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 528.722 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 528.623] cm
+0 g
+0 G
+[1 0 0 1 0 -144.458] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 143.462 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 139.876] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -519.258] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 519.258 Td
+/F130_0 9.963 Tf
+(BZ_CONFIG_ERROR) 89.667 Tj
+98.488 507.303 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(library) 41.8446 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-425 TJm
+(mis-compiled) 71.7336 Tj
+90 495.348 Td
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 483.392 Td
+(if) 11.9556 Tj
+-426 TJm
+(strm) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+98.488 471.437 Td
+(or) 11.9556 Tj
+-426 TJm
+(blockSize) 53.8002 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(1) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(bloc) 23.9112 Tj
+1 TJm
+(kSize) 29.889 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(9) 5.9778 Tj
+98.488 459.482 Td
+(or) 11.9556 Tj
+-426 TJm
+(verbosity) 53.8002 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(verb) 23.9112 Tj
+1 TJm
+(osity) 29.889 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(4) 5.9778 Tj
+98.488 447.527 Td
+(or) 11.9556 Tj
+-426 TJm
+(workFactor) 59.778 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(wor) 17.9334 Tj
+1 TJm
+(kFactor) 41.8446 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(250) 17.9334 Tj
+90 435.572 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 423.617 Td
+(if) 11.9556 Tj
+-426 TJm
+(not) 17.9334 Tj
+-426 TJm
+(enough) 35.8668 Tj
+-426 TJm
+(memory) 35.8668 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(available) 53.8002 Tj
+90 411.661 Td
+(BZ_OK) 29.889 Tj
+98.488 399.706 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 384.165] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.548] cm
+0 g
+0 G
+[1 0 0 1 -72 -374.203] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 362.248 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 362.148] cm
+0 g
+0 G
+[1 0 0 1 0 -48.817] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 47.821 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 44.234] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -352.783] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 352.783 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+98.488 340.828 Td
+(if) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(returned) 47.8224 Tj
+98.488 328.873 Td
+(no) 11.9556 Tj
+-426 TJm
+(specific) 47.8224 Tj
+-426 TJm
+(action) 35.8668 Tj
+-426 TJm
+(needed) 35.8668 Tj
+-425 TJm
+(in) 11.9556 Tj
+-426 TJm
+(case) 23.9112 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(error) 29.889 Tj
+[1 0 0 1 72 313.331] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.961] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -303.37] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 282.711 Td
+/F121_0 17.215 Tf
+(3.3.2.) 43.0719 Tj
+[1 0 0 1 119.858 282.711] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -282.711] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 282.711 Td
+/F387_0 17.215 Tf
+(BZ2_bzCompress) 144.606 Tj
+[1 0 0 1 264.468 282.711] cm
+0 g
+0 G
+[1 0 0 1 -192.468 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.906] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -271.014] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 271.014 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzCompress) 83.6892 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(bz_s) 23.9112 Tj
+1 TJm
+(tream) 29.889 Tj
+-426 TJm
+(*strm,) 35.8668 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(action) 35.8668 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 255.472] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.548] cm
+0 g
+0 G
+[1 0 0 1 -72 -245.51] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 233.555 Td
+/F128_0 9.963 Tf
+(Pro) 13.8386 Tj
+15 TJm
+(vides) 21.0319 Tj
+-222 TJm
+(mor) 16.0504 Tj
+1 TJm
+(e) 4.42357 Tj
+-222 TJm
+(input) 20.4839 Tj
+-222 TJm
+(and/or) 25.4555 Tj
+-221 TJm
+(output) 25.4654 Tj
+-222 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-222 TJm
+(space) 22.1278 Tj
+-221 TJm
+(for) 11.6169 Tj
+-222 TJm
+(the) 12.1748 Tj
+-222 TJm
+(li) 5.53943 Tj
+1 TJm
+(brary) 21.0219 Tj
+65 TJm
+(.) 2.49075 Tj
+-602 TJm
+(T) 6.08739 Tj
+1 TJm
+(he) 9.40507 Tj
+-222 TJm
+(caller) 22.1278 Tj
+-222 TJm
+(maintains) 38.7461 Tj
+-221 TJm
+(input) 20.4839 Tj
+-222 TJm
+(and) 14.3866 Tj
+-222 TJm
+(ou) 9.963 Tj
+1 TJm
+(tput) 15.5024 Tj
+-222 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fers,) 17.4253 Tj
+-227 TJm
+(and) 14.3866 Tj
+-222 TJm
+(calls) 18.2622 Tj
+[1 0 0 1 72 221.6] cm
+0 g
+0 G
+[1 0 0 1 -72 -221.6] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 221.6 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 155.686 221.6] cm
+0 g
+0 G
+[1 0 0 1 -155.686 -221.6] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+158.177 221.6 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(transfer) 30.427 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(between) 33.1967 Tj
+-250 TJm
+(the) 12.1748 Tj
+1 TJm
+(m.) 10.242 Tj
+[1 0 0 1 72 220.036] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -210.074] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 199.683 Td
+/F128_0 9.963 Tf
+(Before) 27.1093 Tj
+-212 TJm
+(each) 18.2522 Tj
+-213 TJm
+(call) 14.3866 Tj
+-212 TJm
+(to) 7.75121 Tj
+[1 0 0 1 147.961 199.683] cm
+0 g
+0 G
+[1 0 0 1 -147.961 -199.683] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+147.961 199.683 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 231.647 199.683] cm
+0 g
+0 G
+[1 0 0 1 -231.647 -199.683] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+231.647 199.683 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 236.329 199.683] cm
+0 g
+0 G
+[1 0 0 1 -236.329 -199.683] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+236.329 199.683 Td
+/F130_0 9.963 Tf
+(next_in) 41.8446 Tj
+[1 0 0 1 278.172 199.683] cm
+0 g
+0 G
+[1 0 0 1 -278.172 -199.683] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+280.289 199.683 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-212 TJm
+(point) 20.4839 Tj
+-213 TJm
+(at) 7.19329 Tj
+-212 TJm
+(the) 12.1748 Tj
+-212 TJm
+(data) 16.5984 Tj
+-213 TJm
+(to) 7.75121 Tj
+-212 TJm
+(be) 9.40507 Tj
+-212 TJm
+(compressed,) 49.5261 Tj
+-220 TJm
+(and) 14.3866 Tj
+[1 0 0 1 463.493 199.683] cm
+0 g
+0 G
+[1 0 0 1 -463.493 -199.683] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+463.493 199.683 Td
+/F130_0 9.963 Tf
+(avail_in) 47.8224 Tj
+[1 0 0 1 511.314 199.683] cm
+0 g
+0 G
+[1 0 0 1 -511.314 -199.683] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+513.43 199.683 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+72 187.728 Td
+(indicate) 31.5429 Tj
+-246 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-246 TJm
+(man) 17.1563 Tj
+15 TJm
+(y) 4.9815 Tj
+-246 TJm
+(bytes) 21.0319 Tj
+-247 TJm
+(the) 12.1748 Tj
+-246 TJm
+(library) 26.5614 Tj
+-246 TJm
+(may) 17.1563 Tj
+-246 TJm
+(read.) 19.6371 Tj
+[1 0 0 1 259.242 187.728] cm
+0 g
+0 G
+[1 0 0 1 -259.242 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+259.242 187.728 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 342.929 187.728] cm
+0 g
+0 G
+[1 0 0 1 -342.929 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+345.382 187.728 Td
+/F128_0 9.963 Tf
+(updates) 30.437 Tj
+[1 0 0 1 378.271 187.728] cm
+0 g
+0 G
+[1 0 0 1 -378.271 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+378.271 187.728 Td
+/F130_0 9.963 Tf
+(next_in) 41.8446 Tj
+[1 0 0 1 420.114 187.728] cm
+0 g
+0 G
+[1 0 0 1 -420.114 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+420.114 187.728 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 425.066 187.728] cm
+0 g
+0 G
+[1 0 0 1 -425.066 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+425.066 187.728 Td
+/F130_0 9.963 Tf
+(avail_in) 47.8224 Tj
+[1 0 0 1 472.886 187.728] cm
+0 g
+0 G
+[1 0 0 1 -472.886 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+475.34 187.728 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 492.179 187.728] cm
+0 g
+0 G
+[1 0 0 1 -492.179 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+492.179 187.728 Td
+/F130_0 9.963 Tf
+(total_in) 47.8224 Tj
+[1 0 0 1 540 187.728] cm
+0 g
+0 G
+[1 0 0 1 -540 -187.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 175.773 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(re\003ect) 24.8975 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(number) 30.437 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(bytes) 21.0319 Tj
+-249 TJm
+(it) 5.53943 Tj
+-250 TJm
+(has) 13.2807 Tj
+-250 TJm
+(read.) 19.6371 Tj
+[1 0 0 1 72 173.616] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -163.654] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 153.856 Td
+/F128_0 9.963 Tf
+(Similarly) 37.0922 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 113.148 153.856] cm
+0 g
+0 G
+[1 0 0 1 -113.148 -153.856] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+113.148 153.856 Td
+/F130_0 9.963 Tf
+(next_out) 47.8224 Tj
+[1 0 0 1 160.968 153.856] cm
+0 g
+0 G
+[1 0 0 1 -160.968 -153.856] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+163.114 153.856 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-215 TJm
+(point) 20.4839 Tj
+-215 TJm
+(to) 7.75121 Tj
+-216 TJm
+(a) 4.42357 Tj
+-215 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-215 TJm
+(in) 7.75121 Tj
+-216 TJm
+(whi) 14.9445 Tj
+1 TJm
+(ch) 9.40507 Tj
+-216 TJm
+(the) 12.1748 Tj
+-215 TJm
+(compressed) 47.0353 Tj
+-215 TJm
+(data) 16.5984 Tj
+-215 TJm
+(is) 6.64532 Tj
+-216 TJm
+(to) 7.75121 Tj
+-215 TJm
+(be) 9.40507 Tj
+-215 TJm
+(placed,) 28.4942 Tj
+-222 TJm
+(with) 17.7142 Tj
+[1 0 0 1 456.391 153.856] cm
+0 g
+0 G
+[1 0 0 1 -456.391 -153.856] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+456.391 153.856 Td
+/F130_0 9.963 Tf
+(avail_out) 53.8002 Tj
+[1 0 0 1 510.189 153.856] cm
+0 g
+0 G
+[1 0 0 1 -510.189 -153.856] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+512.334 153.856 Td
+/F128_0 9.963 Tf
+(indica-) 27.6673 Tj
+72 141.901 Td
+(ting) 15.5024 Tj
+-280 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-281 TJm
+(muc) 17.1563 Tj
+1 TJm
+(h) 4.9815 Tj
+-281 TJm
+(output) 25.4654 Tj
+-280 TJm
+(space) 22.1278 Tj
+-280 TJm
+(is) 6.64532 Tj
+-281 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailabl) 22.1378 Tj
+1 TJm
+(e.) 6.91432 Tj
+[1 0 0 1 239.543 141.901] cm
+0 g
+0 G
+[1 0 0 1 -239.543 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+239.543 141.901 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 323.229 141.901] cm
+0 g
+0 G
+[1 0 0 1 -323.229 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+326.022 141.901 Td
+/F128_0 9.963 Tf
+(updates) 30.437 Tj
+[1 0 0 1 359.251 141.901] cm
+0 g
+0 G
+[1 0 0 1 -359.251 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+359.251 141.901 Td
+/F130_0 9.963 Tf
+(next_out) 47.8224 Tj
+[1 0 0 1 407.072 141.901] cm
+0 g
+0 G
+[1 0 0 1 -407.072 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+407.072 141.901 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 412.431 141.901] cm
+0 g
+0 G
+[1 0 0 1 -412.431 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+412.431 141.901 Td
+/F130_0 9.963 Tf
+(avail_out) 53.8002 Tj
+[1 0 0 1 466.229 141.901] cm
+0 g
+0 G
+[1 0 0 1 -466.229 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+469.023 141.901 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 486.202 141.901] cm
+0 g
+0 G
+[1 0 0 1 -486.202 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+486.202 141.901 Td
+/F130_0 9.963 Tf
+(total_out) 53.8002 Tj
+[1 0 0 1 540 141.901] cm
+0 g
+0 G
+[1 0 0 1 -540 -141.901] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 129.946 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(re\003ect) 24.8975 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(number) 30.437 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(bytes) 21.0319 Tj
+-249 TJm
+(output.) 27.9562 Tj
+[1 0 0 1 72 127.789] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -117.827] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 108.029 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-272 TJm
+(may) 17.1563 Tj
+-272 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vide) 17.1563 Tj
+-272 TJm
+(and) 14.3866 Tj
+-271 TJm
+(remo) 20.474 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-272 TJm
+(as) 8.29918 Tj
+-272 TJm
+(little) 18.2721 Tj
+-272 TJm
+(or) 8.29918 Tj
+-272 TJm
+(as) 8.29918 Tj
+-272 TJm
+(much) 22.1378 Tj
+-272 TJm
+(data) 16.5984 Tj
+-272 TJm
+(as) 8.29918 Tj
+-271 TJm
+(you) 14.9445 Tj
+-272 TJm
+(lik) 10.5209 Tj
+10 TJm
+(e) 4.42357 Tj
+-272 TJm
+(on) 9.963 Tj
+-272 TJm
+(each) 18.2522 Tj
+-272 TJm
+(call) 14.3866 Tj
+-272 TJm
+(of) 8.29918 Tj
+[1 0 0 1 399.123 108.029] cm
+0 g
+0 G
+[1 0 0 1 -399.123 -108.029] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+399.123 108.029 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 482.809 108.029] cm
+0 g
+0 G
+[1 0 0 1 -482.809 -108.029] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+482.809 108.029 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-752 TJm
+(In) 8.29918 Tj
+-272 TJm
+(the) 12.1748 Tj
+-271 TJm
+(limit,) 21.3208 Tj
+72 96.074 Td
+(it) 5.53943 Tj
+-266 TJm
+(is) 6.64532 Tj
+-265 TJm
+(acceptable) 42.0439 Tj
+-266 TJm
+(to) 7.75121 Tj
+-266 TJm
+(su) 8.85711 Tj
+1 TJm
+(pply) 17.7142 Tj
+-266 TJm
+(and) 14.3866 Tj
+-266 TJm
+(remo) 20.474 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-265 TJm
+(data) 16.5984 Tj
+-266 TJm
+(one) 14.3866 Tj
+-266 TJm
+(byte) 17.1563 Tj
+-265 TJm
+(at) 7.19329 Tj
+-266 TJm
+(a) 4.42357 Tj
+-266 TJm
+(time,) 20.205 Tj
+-269 TJm
+(although) 34.8705 Tj
+-266 TJm
+(this) 14.3965 Tj
+-265 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-266 TJm
+(be) 9.40507 Tj
+-266 TJm
+(terribly) 29.3311 Tj
+-265 TJm
+(inef) 15.4925 Tj
+25 TJm
+(\002cient.) 27.3983 Tj
+-714 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-266 TJm
+(should) 26.5713 Tj
+72 84.118 Td
+(al) 7.19329 Tj
+10 TJm
+(w) 7.19329 Tj
+10 TJm
+(ays) 13.2807 Tj
+-250 TJm
+(ensure) 26.0034 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(at) 7.19329 Tj
+-250 TJm
+(least) 18.2622 Tj
+-249 TJm
+(one) 14.3866 Tj
+-250 TJm
+(byte) 17.1563 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(output) 25.4654 Tj
+-250 TJm
+(space) 22.1278 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailable) 26.5614 Tj
+-250 TJm
+(at) 7.19329 Tj
+-250 TJm
+(each) 18.2522 Tj
+-250 TJm
+(call.) 16.8773 Tj
+[1 0 0 1 72 81.962] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 0 -21.148] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(13) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 17 17
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(A) 7.19329 Tj
+-250 TJm
+(second) 27.6673 Tj
+-250 TJm
+(purpose) 31.5429 Tj
+-250 TJm
+(of) 8.29918 Tj
+[1 0 0 1 156.662 710.037] cm
+0 g
+0 G
+[1 0 0 1 -156.662 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+156.662 710.037 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 240.348 710.037] cm
+0 g
+0 G
+[1 0 0 1 -240.348 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+242.839 710.037 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(request) 28.7731 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(change) 28.2152 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(mod) 17.7142 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 72 707.881] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -697.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 688.12 Td
+/F128_0 9.963 Tf
+(Conceptually) 53.1327 Tj
+65 TJm
+(,) 2.49075 Tj
+-217 TJm
+(a) 4.42357 Tj
+-209 TJm
+(compressed) 47.0353 Tj
+-209 TJm
+(stream) 26.5614 Tj
+-210 TJm
+(can) 13.8286 Tj
+-209 TJm
+(be) 9.40507 Tj
+-209 TJm
+(in) 7.75121 Tj
+-209 TJm
+(one) 14.3866 Tj
+-209 TJm
+(of) 8.29918 Tj
+-210 TJm
+(four) 16.5984 Tj
+-209 TJm
+(states:) 24.9075 Tj
+-289 TJm
+(IDLE,) 25.1765 Tj
+-209 TJm
+(R) 6.64532 Tj
+40 TJm
+(UNNING,) 41.7749 Tj
+-209 TJm
+(FLUSHING) 49.2571 Tj
+-209 TJm
+(and) 14.3866 Tj
+-210 TJm
+(FINISHING) 49.805 Tj
+1 TJm
+(.) 2.49075 Tj
+-419 TJm
+(Be-) 14.3866 Tj
+72 676.164 Td
+(fore) 16.0404 Tj
+-264 TJm
+(initialis) 29.899 Tj
+1 TJm
+(ation) 19.926 Tj
+-264 TJm
+(\() 3.31768 Tj
+[1 0 0 1 146.434 676.164] cm
+0 g
+0 G
+[1 0 0 1 -146.434 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+146.434 676.164 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 254.031 676.164] cm
+0 g
+0 G
+[1 0 0 1 -254.031 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+254.031 676.164 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-264 TJm
+(and) 14.3866 Tj
+-263 TJm
+(after) 18.2522 Tj
+-264 TJm
+(termination) 45.9394 Tj
+-264 TJm
+(\() 3.31768 Tj
+[1 0 0 1 349.75 676.164] cm
+0 g
+0 G
+[1 0 0 1 -349.75 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+349.75 676.164 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressEnd) 101.623 Tj
+[1 0 0 1 451.369 676.164] cm
+0 g
+0 G
+[1 0 0 1 -451.369 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+451.369 676.164 Td
+/F128_0 9.963 Tf
+(\),) 5.80843 Tj
+-267 TJm
+(a) 4.42357 Tj
+-264 TJm
+(stream) 26.5614 Tj
+-263 TJm
+(is) 6.64532 Tj
+-264 TJm
+(re) 7.74125 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(arded) 22.1278 Tj
+72 664.209 Td
+(as) 8.29918 Tj
+-250 TJm
+(IDLE.) 25.1765 Tj
+[1 0 0 1 72 664.11] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -654.147] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 642.291 Td
+/F128_0 9.963 Tf
+(Upon) 22.1378 Tj
+-389 TJm
+(initialisation) 49.825 Tj
+-389 TJm
+(\() 3.31768 Tj
+[1 0 0 1 155.036 642.291] cm
+0 g
+0 G
+[1 0 0 1 -155.036 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+155.036 642.291 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 262.632 642.291] cm
+0 g
+0 G
+[1 0 0 1 -262.632 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+262.632 642.291 Td
+/F128_0 9.963 Tf
+(\),) 5.80843 Tj
+-424 TJm
+(the) 12.1748 Tj
+-390 TJm
+(stream) 26.5614 Tj
+-389 TJm
+(is) 6.64532 Tj
+-389 TJm
+(placed) 26.0034 Tj
+-390 TJm
+(in) 7.75121 Tj
+-389 TJm
+(the) 12.1748 Tj
+-389 TJm
+(R) 6.64532 Tj
+40 TJm
+(UNNING) 39.2841 Tj
+-389 TJm
+(state.) 20.7529 Tj
+-1457 TJm
+(Subsequent) 45.9394 Tj
+-389 TJm
+(calls) 18.2622 Tj
+72 630.336 Td
+(to) 7.75121 Tj
+[1 0 0 1 83.818 630.336] cm
+0 g
+0 G
+[1 0 0 1 -83.818 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+83.818 630.336 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 167.504 630.336] cm
+0 g
+0 G
+[1 0 0 1 -167.504 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+171.571 630.336 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-408 TJm
+(pass) 17.1563 Tj
+[1 0 0 1 223.431 630.336] cm
+0 g
+0 G
+[1 0 0 1 -223.431 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+223.431 630.336 Td
+/F130_0 9.963 Tf
+(BZ_RUN) 35.8668 Tj
+[1 0 0 1 259.297 630.336] cm
+0 g
+0 G
+[1 0 0 1 -259.297 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+263.362 630.336 Td
+/F128_0 9.963 Tf
+(as) 8.29918 Tj
+-408 TJm
+(the) 12.1748 Tj
+-408 TJm
+(requested) 38.1782 Tj
+-408 TJm
+(action;) 27.1193 Tj
+-488 TJm
+(other) 20.474 Tj
+-408 TJm
+(actions) 28.2252 Tj
+-408 TJm
+(are) 12.1648 Tj
+-408 TJm
+(ille) 12.7327 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(al) 7.19329 Tj
+-408 TJm
+(and) 14.3866 Tj
+-408 TJm
+(will) 15.5024 Tj
+-409 TJm
+(re) 7.74125 Tj
+1 TJm
+(sult) 14.3965 Tj
+-409 TJm
+(in) 7.75121 Tj
+[1 0 0 1 72 618.381] cm
+0 g
+0 G
+[1 0 0 1 -72 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 618.381 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+[1 0 0 1 173.619 618.381] cm
+0 g
+0 G
+[1 0 0 1 -173.619 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+173.619 618.381 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 616.961] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -606.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 596.463 Td
+/F128_0 9.963 Tf
+(At) 9.963 Tj
+-279 TJm
+(some) 21.0319 Tj
+-279 TJm
+(point,) 22.9747 Tj
+-286 TJm
+(the) 12.1748 Tj
+-279 TJm
+(call) 14.3866 Tj
+1 TJm
+(ing) 12.7327 Tj
+-279 TJm
+(program) 33.7546 Tj
+-279 TJm
+(will) 15.5024 Tj
+-279 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-279 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vided) 22.1378 Tj
+-279 TJm
+(all) 9.963 Tj
+-278 TJm
+(the) 12.1748 Tj
+-279 TJm
+(input) 20.4839 Tj
+-279 TJm
+(data) 16.5984 Tj
+-279 TJm
+(it) 5.53943 Tj
+-279 TJm
+(w) 7.19329 Tj
+10 TJm
+(ants) 16.0504 Tj
+-279 TJm
+(to.) 10.242 Tj
+-793 TJm
+(It) 6.08739 Tj
+-279 TJm
+(will) 15.5024 Tj
+-279 TJm
+(then) 17.1563 Tj
+-279 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-278 TJm
+(to) 7.75121 Tj
+-279 TJm
+(\002nish) 22.1477 Tj
+-279 TJm
+(up) 9.963 Tj
+-279 TJm
+(--) 6.63536 Tj
+72 584.508 Td
+(in) 7.75121 Tj
+-287 TJm
+(ef) 7.74125 Tj
+25 TJm
+(fect,) 17.4253 Tj
+-297 TJm
+(asking) 26.0134 Tj
+-287 TJm
+(the) 12.1748 Tj
+-288 TJm
+(library) 26.5614 Tj
+-287 TJm
+(to) 7.75121 Tj
+-287 TJm
+(process) 29.879 Tj
+-288 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-287 TJm
+(data) 16.5984 Tj
+-287 TJm
+(it) 5.53943 Tj
+-288 TJm
+(might) 23.2536 Tj
+-287 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-287 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fered) 20.464 Tj
+-288 TJm
+(inte) 14.9445 Tj
+1 TJm
+(rnally) 23.2437 Tj
+65 TJm
+(.) 2.49075 Tj
+-845 TJm
+(In) 8.29918 Tj
+-287 TJm
+(this) 14.3965 Tj
+-288 TJm
+(sta) 11.0689 Tj
+1 TJm
+(te,) 9.68404 Tj
+[1 0 0 1 456.314 584.508] cm
+0 g
+0 G
+[1 0 0 1 -456.314 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+456.314 584.508 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 540 584.508] cm
+0 g
+0 G
+[1 0 0 1 -540 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 572.553 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-258 TJm
+(no) 9.963 Tj
+-257 TJm
+(longer) 25.4555 Tj
+-258 TJm
+(attempt) 29.889 Tj
+-257 TJm
+(to) 7.75121 Tj
+-258 TJm
+(read) 17.1463 Tj
+-258 TJm
+(data) 16.5984 Tj
+-257 TJm
+(from) 19.3681 Tj
+[1 0 0 1 234.207 572.553] cm
+0 g
+0 G
+[1 0 0 1 -234.207 -572.553] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.207 572.553 Td
+/F130_0 9.963 Tf
+(next_in) 41.8446 Tj
+[1 0 0 1 276.051 572.553] cm
+0 g
+0 G
+[1 0 0 1 -276.051 -572.553] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+276.051 572.553 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-260 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-257 TJm
+(it) 5.53943 Tj
+-258 TJm
+(will) 15.5024 Tj
+-258 TJm
+(w) 7.19329 Tj
+10 TJm
+(an) 9.40507 Tj
+1 TJm
+(t) 2.76971 Tj
+-258 TJm
+(to) 7.75121 Tj
+-258 TJm
+(write) 20.474 Tj
+-257 TJm
+(data) 16.5984 Tj
+-258 TJm
+(to) 7.75121 Tj
+[1 0 0 1 407.082 572.553] cm
+0 g
+0 G
+[1 0 0 1 -407.082 -572.553] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+407.082 572.553 Td
+/F130_0 9.963 Tf
+(next_out) 47.8224 Tj
+[1 0 0 1 454.902 572.553] cm
+0 g
+0 G
+[1 0 0 1 -454.902 -572.553] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+454.902 572.553 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-666 TJm
+(Because) 33.1967 Tj
+-258 TJm
+(the) 12.1748 Tj
+-258 TJm
+(ou) 9.963 Tj
+1 TJm
+(tput) 15.5024 Tj
+72 560.598 Td
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-228 TJm
+(supplied) 33.7646 Tj
+-228 TJm
+(by) 9.963 Tj
+-228 TJm
+(the) 12.1748 Tj
+-228 TJm
+(user) 16.5984 Tj
+-229 TJm
+(can) 13.8286 Tj
+-228 TJm
+(be) 9.40507 Tj
+-228 TJm
+(arbitrarily) 39.842 Tj
+-228 TJm
+(small,) 24.0806 Tj
+-232 TJm
+(the) 12.1748 Tj
+-228 TJm
+(\002nishing-up) 48.1611 Tj
+-228 TJm
+(operation) 37.6303 Tj
+-228 TJm
+(cannot) 26.5614 Tj
+-229 TJm
+(n) 4.9815 Tj
+1 TJm
+(ecessarily) 39.2841 Tj
+-228 TJm
+(be) 9.40507 Tj
+-229 TJm
+(done) 19.3681 Tj
+-228 TJm
+(with) 17.7142 Tj
+-228 TJm
+(a) 4.42357 Tj
+-228 TJm
+(single) 23.8016 Tj
+72 548.643 Td
+(call) 14.3866 Tj
+-250 TJm
+(of) 8.29918 Tj
+[1 0 0 1 99.666 548.643] cm
+0 g
+0 G
+[1 0 0 1 -99.666 -548.643] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+99.666 548.643 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 183.352 548.643] cm
+0 g
+0 G
+[1 0 0 1 -183.352 -548.643] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+183.352 548.643 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 547.079] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -537.116] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 526.725 Td
+/F128_0 9.963 Tf
+(Instead,) 31.2639 Tj
+-346 TJm
+(the) 12.1748 Tj
+-327 TJm
+(ca) 8.84714 Tj
+1 TJm
+(lling) 18.2721 Tj
+-327 TJm
+(program) 33.7546 Tj
+-327 TJm
+(passes) 25.4555 Tj
+[1 0 0 1 218.231 526.725] cm
+0 g
+0 G
+[1 0 0 1 -218.231 -526.725] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+218.231 526.725 Td
+/F130_0 9.963 Tf
+(BZ_FINISH) 53.8002 Tj
+[1 0 0 1 272.029 526.725] cm
+0 g
+0 G
+[1 0 0 1 -272.029 -526.725] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+275.284 526.725 Td
+/F128_0 9.963 Tf
+(as) 8.29918 Tj
+-327 TJm
+(an) 9.40507 Tj
+-326 TJm
+(action) 24.3496 Tj
+-327 TJm
+(to) 7.75121 Tj
+[1 0 0 1 338.109 526.725] cm
+0 g
+0 G
+[1 0 0 1 -338.109 -526.725] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+338.109 526.725 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 421.795 526.725] cm
+0 g
+0 G
+[1 0 0 1 -421.795 -526.725] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+421.795 526.725 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1081 TJm
+(This) 17.7142 Tj
+-326 TJm
+(changes) 32.0908 Tj
+-327 TJm
+(the) 12.1748 Tj
+-327 TJm
+(strea) 18.8101 Tj
+1 TJm
+(m') 11.0689 Tj
+55 TJm
+(s) 3.87561 Tj
+72 514.77 Td
+(state) 18.2622 Tj
+-290 TJm
+(to) 7.75121 Tj
+-291 TJm
+(FINISHING.) 52.2958 Tj
+-581 TJm
+(An) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-290 TJm
+(remaining) 40.4 Tj
+-291 TJm
+(input) 20.4839 Tj
+-290 TJm
+(\(ie,) 13.0017 Tj
+[1 0 0 1 264.452 514.77] cm
+0 g
+0 G
+[1 0 0 1 -264.452 -514.77] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+264.452 514.77 Td
+/F130_0 9.963 Tf
+(next_in[0) 53.8002 Tj
+-600 TJm
+(..) 11.9556 Tj
+-1200 TJm
+(avail_in-1]) 65.7558 Tj
+[1 0 0 1 413.892 514.77] cm
+0 g
+0 G
+[1 0 0 1 -413.892 -514.77] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+413.892 514.77 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-291 TJm
+(is) 6.64532 Tj
+-290 TJm
+(compressed) 47.0353 Tj
+-290 TJm
+(and) 14.3866 Tj
+-291 TJm
+(transferred) 43.1498 Tj
+72 502.814 Td
+(to) 7.75121 Tj
+-421 TJm
+(the) 12.1748 Tj
+-421 TJm
+(output) 25.4654 Tj
+-421 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+55 TJm
+(.) 2.49075 Tj
+-1646 TJm
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-421 TJm
+(do) 9.963 Tj
+-421 TJm
+(this,) 16.8873 Tj
+[1 0 0 1 222.339 502.814] cm
+0 g
+0 G
+[1 0 0 1 -222.339 -502.814] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+222.339 502.814 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 306.025 502.814] cm
+0 g
+0 G
+[1 0 0 1 -306.025 -502.814] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+310.22 502.814 Td
+/F128_0 9.963 Tf
+(must) 19.378 Tj
+-421 TJm
+(be) 9.40507 Tj
+-421 TJm
+(called) 23.7916 Tj
+-421 TJm
+(repeatedly) 41.4959 Tj
+-421 TJm
+(until) 18.2721 Tj
+-421 TJm
+(all) 9.963 Tj
+-421 TJm
+(the) 12.1748 Tj
+-421 TJm
+(outp) 17.7142 Tj
+1 TJm
+(ut) 7.75121 Tj
+-421 TJm
+(has) 13.2807 Tj
+-421 TJm
+(been) 18.8101 Tj
+72 490.859 Td
+(consumed.) 42.8907 Tj
+-1396 TJm
+(At) 9.963 Tj
+-380 TJm
+(that) 14.9445 Tj
+-379 TJm
+(point,) 22.9747 Tj
+[1 0 0 1 188.346 490.859] cm
+0 g
+0 G
+[1 0 0 1 -188.346 -490.859] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+188.346 490.859 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 272.033 490.859] cm
+0 g
+0 G
+[1 0 0 1 -272.033 -490.859] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+275.813 490.859 Td
+/F128_0 9.963 Tf
+(returns) 27.6673 Tj
+[1 0 0 1 307.259 490.859] cm
+0 g
+0 G
+[1 0 0 1 -307.259 -490.859] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+307.259 490.859 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 384.968 490.859] cm
+0 g
+0 G
+[1 0 0 1 -384.968 -490.859] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+384.968 490.859 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-379 TJm
+(and) 14.3866 Tj
+-380 TJm
+(the) 12.1748 Tj
+-379 TJm
+(stream') 29.879 Tj
+55 TJm
+(s) 3.87561 Tj
+-379 TJm
+(state) 18.2622 Tj
+-380 TJm
+(is) 6.64532 Tj
+-379 TJm
+(set) 11.0689 Tj
+-379 TJm
+(back) 18.8101 Tj
+-380 TJm
+(to) 7.75121 Tj
+72 478.904 Td
+(IDLE.) 25.1765 Tj
+[1 0 0 1 99.666 478.904] cm
+0 g
+0 G
+[1 0 0 1 -99.666 -478.904] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+99.666 478.904 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressEnd) 101.623 Tj
+[1 0 0 1 201.285 478.904] cm
+0 g
+0 G
+[1 0 0 1 -201.285 -478.904] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+203.776 478.904 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-250 TJm
+(then) 17.1563 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(called.) 26.2824 Tj
+[1 0 0 1 72 477.34] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -467.377] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 456.986 Td
+/F128_0 9.963 Tf
+(Just) 15.5024 Tj
+-380 TJm
+(to) 7.75121 Tj
+-379 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-380 TJm
+(sure) 16.5984 Tj
+-380 TJm
+(the) 12.1748 Tj
+-380 TJm
+(c) 4.42357 Tj
+1 TJm
+(alling) 22.6957 Tj
+-380 TJm
+(program) 33.7546 Tj
+-380 TJm
+(does) 18.2622 Tj
+-379 TJm
+(not) 12.7327 Tj
+-380 TJm
+(cheat,) 23.5127 Tj
+-412 TJm
+(the) 12.1748 Tj
+-380 TJm
+(library) 26.5614 Tj
+-380 TJm
+(mak) 17.1563 Tj
+10 TJm
+(es) 8.29918 Tj
+-379 TJm
+(a) 4.42357 Tj
+-380 TJm
+(note) 17.1563 Tj
+-380 TJm
+(of) 8.29918 Tj
+[1 0 0 1 415.708 456.986] cm
+0 g
+0 G
+[1 0 0 1 -415.708 -456.986] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+415.708 456.986 Td
+/F130_0 9.963 Tf
+(avail_in) 47.8224 Tj
+[1 0 0 1 463.528 456.986] cm
+0 g
+0 G
+[1 0 0 1 -463.528 -456.986] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+467.312 456.986 Td
+/F128_0 9.963 Tf
+(at) 7.19329 Tj
+-380 TJm
+(the) 12.1748 Tj
+-379 TJm
+(time) 17.7142 Tj
+-380 TJm
+(of) 8.29918 Tj
+-380 TJm
+(the) 12.1748 Tj
+72 445.031 Td
+(\002rst) 15.5024 Tj
+-286 TJm
+(call) 14.3866 Tj
+-285 TJm
+(to) 7.75121 Tj
+[1 0 0 1 118.179 445.031] cm
+0 g
+0 G
+[1 0 0 1 -118.179 -445.031] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+118.179 445.031 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 201.866 445.031] cm
+0 g
+0 G
+[1 0 0 1 -201.866 -445.031] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.713 445.031 Td
+/F128_0 9.963 Tf
+(which) 24.3496 Tj
+-286 TJm
+(has) 13.2807 Tj
+[1 0 0 1 248.035 445.031] cm
+0 g
+0 G
+[1 0 0 1 -248.035 -445.031] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+248.035 445.031 Td
+/F130_0 9.963 Tf
+(BZ_FINISH) 53.8002 Tj
+[1 0 0 1 301.834 445.031] cm
+0 g
+0 G
+[1 0 0 1 -301.834 -445.031] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+304.68 445.031 Td
+/F128_0 9.963 Tf
+(as) 8.29918 Tj
+-286 TJm
+(an) 9.40507 Tj
+-285 TJm
+(action) 24.3496 Tj
+-286 TJm
+(\(ie,) 13.0017 Tj
+-295 TJm
+(at) 7.19329 Tj
+-285 TJm
+(the) 12.1748 Tj
+-286 TJm
+(time) 17.7142 Tj
+-286 TJm
+(the) 12.1748 Tj
+-286 TJm
+(progr) 21.5799 Tj
+1 TJm
+(am) 12.1748 Tj
+-286 TJm
+(has) 13.2807 Tj
+-286 TJm
+(announced) 43.1597 Tj
+-286 TJm
+(i) 2.76971 Tj
+1 TJm
+(ts) 6.64532 Tj
+72 433.076 Td
+(intention) 35.4284 Tj
+-292 TJm
+(to) 7.75121 Tj
+-291 TJm
+(not) 12.7327 Tj
+-292 TJm
+(supply) 26.5713 Tj
+-292 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-291 TJm
+(more) 20.474 Tj
+-292 TJm
+(input\).) 26.2924 Tj
+-871 TJm
+(By) 11.6268 Tj
+-291 TJm
+(comparing) 42.6118 Tj
+-292 TJm
+(this) 14.3965 Tj
+-292 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-291 TJm
+(with) 17.7142 Tj
+-292 TJm
+(that) 14.9445 Tj
+-292 TJm
+(of) 8.29918 Tj
+[1 0 0 1 392.861 433.076] cm
+0 g
+0 G
+[1 0 0 1 -392.861 -433.076] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+392.861 433.076 Td
+/F130_0 9.963 Tf
+(avail_in) 47.8224 Tj
+[1 0 0 1 440.682 433.076] cm
+0 g
+0 G
+[1 0 0 1 -440.682 -433.076] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+443.589 433.076 Td
+/F128_0 9.963 Tf
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-292 TJm
+(subsequent) 44.2756 Tj
+-291 TJm
+(calls) 18.2622 Tj
+-292 TJm
+(to) 7.75121 Tj
+[1 0 0 1 72 421.121] cm
+0 g
+0 G
+[1 0 0 1 -72 -421.121] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 421.121 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 155.686 421.121] cm
+0 g
+0 G
+[1 0 0 1 -155.686 -421.121] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+155.686 421.121 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-247 TJm
+(the) 12.1748 Tj
+-247 TJm
+(libra) 18.2622 Tj
+1 TJm
+(ry) 8.29918 Tj
+-247 TJm
+(can) 13.8286 Tj
+-246 TJm
+(detect) 23.7916 Tj
+-247 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-246 TJm
+(attempts) 33.7646 Tj
+-246 TJm
+(to) 7.75121 Tj
+-247 TJm
+(slip) 14.3965 Tj
+-246 TJm
+(in) 7.75121 Tj
+-247 TJm
+(more) 20.474 Tj
+-246 TJm
+(data) 16.5984 Tj
+-246 TJm
+(to) 7.75121 Tj
+-247 TJm
+(compress.) 40.121 Tj
+-617 TJm
+(An) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-247 TJm
+(calls) 18.2622 Tj
+-246 TJm
+(for) 11.6169 Tj
+-246 TJm
+(which) 24.3496 Tj
+-247 TJm
+(this) 14.3965 Tj
+-246 TJm
+(is) 6.64532 Tj
+72 409.166 Td
+(detected) 33.1967 Tj
+-250 TJm
+(will) 15.5024 Tj
+-250 TJm
+(return) 23.7916 Tj
+[1 0 0 1 151.959 409.166] cm
+0 g
+0 G
+[1 0 0 1 -151.959 -409.166] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+151.959 409.166 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+[1 0 0 1 253.578 409.166] cm
+0 g
+0 G
+[1 0 0 1 -253.578 -409.166] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+253.578 409.166 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-500 TJm
+(This) 17.7142 Tj
+-250 TJm
+(indicates) 35.4185 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(programm) 41.5059 Tj
+1 TJm
+(ing) 12.7327 Tj
+-250 TJm
+(mistak) 26.5713 Tj
+10 TJm
+(e) 4.42357 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(corrected.) 39.5531 Tj
+[1 0 0 1 72 407.009] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -397.046] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 387.248 Td
+/F128_0 9.963 Tf
+(Instead) 28.7731 Tj
+-223 TJm
+(of) 8.29918 Tj
+-224 TJm
+(asking) 26.0134 Tj
+-224 TJm
+(to) 7.75121 Tj
+-223 TJm
+(\002nish,) 24.6385 Tj
+-229 TJm
+(the) 12.1748 Tj
+-223 TJm
+(calling) 27.1193 Tj
+-224 TJm
+(program) 33.7546 Tj
+-223 TJm
+(may) 17.1563 Tj
+-224 TJm
+(ask) 13.2807 Tj
+[1 0 0 1 293.282 387.248] cm
+0 g
+0 G
+[1 0 0 1 -293.282 -387.248] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+293.282 387.248 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 376.968 387.248] cm
+0 g
+0 G
+[1 0 0 1 -376.968 -387.248] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+379.196 387.248 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-224 TJm
+(ta) 7.19329 Tj
+1 TJm
+(k) 4.9815 Tj
+10 TJm
+(e) 4.42357 Tj
+-224 TJm
+(all) 9.963 Tj
+-224 TJm
+(the) 12.1748 Tj
+-223 TJm
+(remaining) 40.4 Tj
+-224 TJm
+(inp) 12.7327 Tj
+1 TJm
+(ut,) 10.242 Tj
+-229 TJm
+(compress) 37.6303 Tj
+72 375.293 Td
+(it) 5.53943 Tj
+-278 TJm
+(and) 14.3866 Tj
+-278 TJm
+(terminate) 37.6303 Tj
+-277 TJm
+(the) 12.1748 Tj
+-278 TJm
+(current) 28.2152 Tj
+-278 TJm
+(\(Burro) 26.5614 Tj
+25 TJm
+(ws-Wheeler\)) 51.4489 Tj
+-278 TJm
+(co) 9.40507 Tj
+1 TJm
+(mpression) 40.9579 Tj
+-278 TJm
+(block.) 24.6285 Tj
+-787 TJm
+(This) 17.7142 Tj
+-278 TJm
+(could) 22.1378 Tj
+-278 TJm
+(be) 9.40507 Tj
+-278 TJm
+(useful) 24.3496 Tj
+-278 TJm
+(for) 11.6169 Tj
+-278 TJm
+(e) 4.42357 Tj
+1 TJm
+(rror) 14.9345 Tj
+-278 TJm
+(control) 28.2252 Tj
+-278 TJm
+(purposes.) 37.9092 Tj
+72 363.337 Td
+(The) 15.4925 Tj
+-328 TJm
+(mechanism) 45.3815 Tj
+-328 TJm
+(is) 6.64532 Tj
+-328 TJm
+(analogous) 40.4 Tj
+-328 TJm
+(to) 7.75121 Tj
+-328 TJm
+(that) 14.9445 Tj
+-328 TJm
+(for) 11.6169 Tj
+-328 TJm
+(\002nishing) 34.8805 Tj
+1 TJm
+(:) 2.76971 Tj
+-467 TJm
+(cal) 11.6169 Tj
+1 TJm
+(l) 2.76971 Tj
+[1 0 0 1 297.049 363.337] cm
+0 g
+0 G
+[1 0 0 1 -297.049 -363.337] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+297.049 363.337 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 380.735 363.337] cm
+0 g
+0 G
+[1 0 0 1 -380.735 -363.337] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+384.003 363.337 Td
+/F128_0 9.963 Tf
+(with) 17.7142 Tj
+-328 TJm
+(an) 9.40507 Tj
+-328 TJm
+(action) 24.3496 Tj
+-328 TJm
+(of) 8.29918 Tj
+[1 0 0 1 456.841 363.337] cm
+0 g
+0 G
+[1 0 0 1 -456.841 -363.337] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+456.841 363.337 Td
+/F130_0 9.963 Tf
+(BZ_FLUSH) 47.8224 Tj
+[1 0 0 1 504.662 363.337] cm
+0 g
+0 G
+[1 0 0 1 -504.662 -363.337] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+504.662 363.337 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-328 TJm
+(remo) 20.474 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+72 351.382 Td
+(output) 25.4654 Tj
+-445 TJm
+(data,) 19.0891 Tj
+-494 TJm
+(and) 14.3866 Tj
+-445 TJm
+(persist) 26.0134 Tj
+-445 TJm
+(with) 17.7142 Tj
+-446 TJm
+(the) 12.1748 Tj
+[1 0 0 1 213.94 351.382] cm
+0 g
+0 G
+[1 0 0 1 -213.94 -351.382] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+213.94 351.382 Td
+/F130_0 9.963 Tf
+(BZ_FLUSH) 47.8224 Tj
+[1 0 0 1 261.761 351.382] cm
+0 g
+0 G
+[1 0 0 1 -261.761 -351.382] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+266.195 351.382 Td
+/F128_0 9.963 Tf
+(action) 24.3496 Tj
+-445 TJm
+(until) 18.2721 Tj
+-445 TJm
+(the) 12.1748 Tj
+-445 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+[1 0 0 1 360.062 351.382] cm
+0 g
+0 G
+[1 0 0 1 -360.062 -351.382] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+360.062 351.382 Td
+/F130_0 9.963 Tf
+(BZ_RUN) 35.8668 Tj
+[1 0 0 1 395.928 351.382] cm
+0 g
+0 G
+[1 0 0 1 -395.928 -351.382] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+400.362 351.382 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-445 TJm
+(returned.) 35.6875 Tj
+-1792 TJm
+(A) 7.19329 Tj
+1 TJm
+(s) 3.87561 Tj
+-446 TJm
+(with) 17.7142 Tj
+-445 TJm
+(\002nishing,) 37.3712 Tj
+[1 0 0 1 72 339.427] cm
+0 g
+0 G
+[1 0 0 1 -72 -339.427] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 339.427 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 155.686 339.427] cm
+0 g
+0 G
+[1 0 0 1 -155.686 -339.427] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+158.177 339.427 Td
+/F128_0 9.963 Tf
+(detects) 27.6673 Tj
+-250 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-250 TJm
+(attempt) 29.889 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vi) 7.75121 Tj
+1 TJm
+(de) 9.40507 Tj
+-250 TJm
+(more) 20.474 Tj
+-250 TJm
+(input) 20.4839 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(once) 18.8101 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\003ush) 19.378 Tj
+-250 TJm
+(has) 13.2807 Tj
+-250 TJm
+(be) 9.40507 Tj
+15 TJm
+(gun.) 17.4353 Tj
+[1 0 0 1 72 337.27] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -327.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 317.509 Td
+/F128_0 9.963 Tf
+(Once) 21.0219 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\003ush) 19.378 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(complete,) 39.0151 Tj
+-250 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-250 TJm
+(stream) 26.5614 Tj
+-250 TJm
+(returns) 27.6673 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(normal) 28.2252 Tj
+-250 TJm
+(R) 6.64532 Tj
+40 TJm
+(UNNING) 39.2841 Tj
+-250 TJm
+(state.) 20.7529 Tj
+[1 0 0 1 72 315.353] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -305.39] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 295.592 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-344 TJm
+(all) 9.963 Tj
+-343 TJm
+(sounds) 27.6772 Tj
+-344 TJm
+(pretty) 23.2437 Tj
+-344 TJm
+(comple) 29.3311 Tj
+15 TJm
+(x) 4.9815 Tj
+1 TJm
+(,) 2.49075 Tj
+-368 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-343 TJm
+(isn') 14.9445 Tj
+18 TJm
+(t) 2.76971 Tj
+-344 TJm
+(really) 22.6858 Tj
+65 TJm
+(.) 2.49075 Tj
+-1182 TJm
+(Here') 22.6758 Tj
+55 TJm
+(s) 3.87561 Tj
+-344 TJm
+(a) 4.42357 Tj
+-344 TJm
+(table) 19.3681 Tj
+-343 TJm
+(which) 24.3496 Tj
+-344 TJm
+(sho) 13.8386 Tj
+25 TJm
+(ws) 11.0689 Tj
+-344 TJm
+(which) 24.3496 Tj
+-343 TJm
+(actions) 28.2252 Tj
+-344 TJm
+(are) 12.1648 Tj
+-344 TJm
+(allo) 14.9445 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-343 TJm
+(in) 7.75121 Tj
+-344 TJm
+(each) 18.2522 Tj
+72 283.636 Td
+(state,) 20.7529 Tj
+-281 TJm
+(wh) 12.1748 Tj
+1 TJm
+(at) 7.19329 Tj
+-275 TJm
+(action) 24.3496 Tj
+-274 TJm
+(will) 15.5024 Tj
+-275 TJm
+(be) 9.40507 Tj
+-274 TJm
+(tak) 12.1748 Tj
+10 TJm
+(en,) 11.8958 Tj
+-281 TJm
+(what) 19.3681 Tj
+-274 TJm
+(the) 12.1748 Tj
+-275 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-274 TJm
+(state) 18.2622 Tj
+-275 TJm
+(is) 6.64532 Tj
+1 TJm
+(,) 2.49075 Tj
+-281 TJm
+(and) 14.3866 Tj
+-275 TJm
+(what) 19.3681 Tj
+-274 TJm
+(the) 12.1748 Tj
+-274 TJm
+(non-error) 37.6203 Tj
+-275 TJm
+(return) 23.7916 Tj
+-274 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues) 20.474 Tj
+-275 TJm
+(are.) 14.6556 Tj
+-767 TJm
+(Note) 19.3681 Tj
+-274 TJm
+(that) 14.9445 Tj
+-275 TJm
+(you) 14.9445 Tj
+-274 TJm
+(can') 17.1463 Tj
+18 TJm
+(t) 2.76971 Tj
+72 271.681 Td
+(e) 4.42357 Tj
+15 TJm
+(xplicitly) 33.2166 Tj
+-347 TJm
+(ask) 13.2807 Tj
+-348 TJm
+(what) 19.3681 Tj
+-347 TJm
+(state) 18.2622 Tj
+-347 TJm
+(the) 12.1748 Tj
+-348 TJm
+(stream) 26.5614 Tj
+-347 TJm
+(is) 6.64532 Tj
+-347 TJm
+(in,) 10.242 Tj
+-372 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-348 TJm
+(nor) 13.2807 Tj
+-347 TJm
+(do) 9.963 Tj
+-347 TJm
+(you) 14.9445 Tj
+-348 TJm
+(need) 18.8101 Tj
+-347 TJm
+(to) 7.75121 Tj
+-348 TJm
+(--) 6.63536 Tj
+-347 TJm
+(it) 5.53943 Tj
+-347 TJm
+(can) 13.8286 Tj
+-348 TJm
+(be) 9.40507 Tj
+-347 TJm
+(inferred) 31.5329 Tj
+-348 TJm
+(from) 19.3681 Tj
+-347 TJm
+(the) 12.1748 Tj
+-347 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues) 20.474 Tj
+-348 TJm
+(returned) 33.1967 Tj
+-347 TJm
+(by) 9.963 Tj
+[1 0 0 1 72 259.726] cm
+0 g
+0 G
+[1 0 0 1 -72 -259.726] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 259.726 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 155.686 259.726] cm
+0 g
+0 G
+[1 0 0 1 -155.686 -259.726] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+155.686 259.726 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 258.162] cm
+0 g
+0 G
+[1 0 0 1 0 -207.31] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.852 Td
+/F128_0 9.963 Tf
+(14) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 18 18
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -595.402] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 573.848 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 570.261] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(IDLE/any) 47.8224 Tj
+98.488 699.676 Td
+(Illegal.) 47.8224 Tj
+-852 TJm
+(IDLE) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(onl) 17.9334 Tj
+1 TJm
+(y) 5.9778 Tj
+-426 TJm
+(exists) 35.8668 Tj
+-426 TJm
+(after) 29.889 Tj
+-426 TJm
+(BZ2_bzCompressEnd) 101.623 Tj
+-426 TJm
+(or) 11.9556 Tj
+98.488 687.721 Td
+(before) 35.8668 Tj
+-426 TJm
+(BZ2_bzCompressInit) 107.6 Tj
+1 TJm
+(.) 5.9778 Tj
+98.488 675.766 Td
+(Return) 35.8668 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_SEQUENC) 59.778 Tj
+1 TJm
+(E_ERROR) 41.8446 Tj
+90 651.856 Td
+(RUNNING/BZ_RUN) 83.6892 Tj
+98.488 639.9 Td
+(Compress) 47.8224 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(next_in) 41.8446 Tj
+-426 TJm
+(to) 11.9556 Tj
+-425 TJm
+(next_out) 47.8224 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(much) 23.9112 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(possible.) 53.8002 Tj
+98.488 627.945 Td
+(Next) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(RUNNING) 41.8446 Tj
+98.488 615.99 Td
+(Return) 35.8668 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_RUN_OK) 53.8002 Tj
+90 592.08 Td
+(RUNNING/BZ_FLUSH) 95.6448 Tj
+98.488 580.124 Td
+(Remember) 47.8224 Tj
+-426 TJm
+(current) 41.8446 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(of) 11.9556 Tj
+-425 TJm
+(next_in.) 47.8224 Tj
+-426 TJm
+(Compress) 47.8224 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(next_in) 41.8446 Tj
+98.488 568.169 Td
+(to) 11.9556 Tj
+-426 TJm
+(next_out) 47.8224 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(much) 23.9112 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(p) 5.9778 Tj
+1 TJm
+(ossible,) 47.8224 Tj
+-426 TJm
+(but) 17.9334 Tj
+-426 TJm
+(do) 11.9556 Tj
+-426 TJm
+(not) 17.9334 Tj
+-426 TJm
+(accept) 35.8668 Tj
+-426 TJm
+(any) 17.9334 Tj
+-426 TJm
+(more) 23.9112 Tj
+-426 TJm
+(input.) 35.8668 Tj
+98.488 556.214 Td
+(Next) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(FLUSHING) 47.8224 Tj
+98.488 544.259 Td
+(Return) 35.8668 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_FLUSH_O) 59.778 Tj
+1 TJm
+(K) 5.9778 Tj
+90 520.349 Td
+(RUNNING/BZ_FINISH) 101.623 Tj
+98.488 508.393 Td
+(Remember) 47.8224 Tj
+-426 TJm
+(current) 41.8446 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(of) 11.9556 Tj
+-425 TJm
+(next_in.) 47.8224 Tj
+-426 TJm
+(Compress) 47.8224 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(next_in) 41.8446 Tj
+98.488 496.438 Td
+(to) 11.9556 Tj
+-426 TJm
+(next_out) 47.8224 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(much) 23.9112 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(p) 5.9778 Tj
+1 TJm
+(ossible,) 47.8224 Tj
+-426 TJm
+(but) 17.9334 Tj
+-426 TJm
+(do) 11.9556 Tj
+-426 TJm
+(not) 17.9334 Tj
+-426 TJm
+(accept) 35.8668 Tj
+-426 TJm
+(any) 17.9334 Tj
+-426 TJm
+(more) 23.9112 Tj
+-426 TJm
+(input.) 35.8668 Tj
+98.488 484.483 Td
+(Next) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(FINISHING) 53.8002 Tj
+98.488 472.528 Td
+(Return) 35.8668 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_FINISH_) 59.778 Tj
+1 TJm
+(OK) 11.9556 Tj
+90 448.618 Td
+(FLUSHING/BZ_FLUSH) 101.623 Tj
+98.488 436.662 Td
+(Compress) 47.8224 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(next_in) 41.8446 Tj
+-426 TJm
+(to) 11.9556 Tj
+-425 TJm
+(next_out) 47.8224 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(much) 23.9112 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(possible,) 53.8002 Tj
+98.488 424.707 Td
+(but) 17.9334 Tj
+-426 TJm
+(do) 11.9556 Tj
+-426 TJm
+(not) 17.9334 Tj
+-426 TJm
+(accept) 35.8668 Tj
+-426 TJm
+(any) 17.9334 Tj
+-426 TJm
+(mo) 11.9556 Tj
+1 TJm
+(re) 11.9556 Tj
+-426 TJm
+(input.) 35.8668 Tj
+98.488 412.752 Td
+(If) 11.9556 Tj
+-426 TJm
+(all) 17.9334 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(existing) 47.8224 Tj
+-426 TJm
+(inpu) 23.9112 Tj
+1 TJm
+(t) 5.9778 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-426 TJm
+(used) 23.9112 Tj
+-426 TJm
+(up) 11.9556 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(all) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+98.488 400.797 Td
+(output) 35.8668 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-426 TJm
+(removed) 41.8446 Tj
+106.976 388.842 Td
+(Next) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(RUNNING;) 47.8224 Tj
+-426 TJm
+(Re) 11.9556 Tj
+1 TJm
+(turn) 23.9112 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_RUN_OK) 53.8002 Tj
+98.488 376.887 Td
+(else) 23.9112 Tj
+106.976 364.931 Td
+(Next) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(FLUSHING;) 53.8002 Tj
+-426 TJm
+(R) 5.9778 Tj
+1 TJm
+(eturn) 29.889 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_FLUSH_OK) 65.7558 Tj
+90 341.021 Td
+(FLUSHING/other) 83.6892 Tj
+98.488 329.066 Td
+(Illegal.) 47.8224 Tj
+98.488 317.111 Td
+(Return) 35.8668 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_SEQUENC) 59.778 Tj
+1 TJm
+(E_ERROR) 41.8446 Tj
+90 293.2 Td
+(FINISHING/BZ_FINISH) 113.578 Tj
+98.488 281.245 Td
+(Compress) 47.8224 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(next_in) 41.8446 Tj
+-426 TJm
+(to) 11.9556 Tj
+-425 TJm
+(next_out) 47.8224 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(much) 23.9112 Tj
+-426 TJm
+(as) 11.9556 Tj
+-426 TJm
+(possible,) 53.8002 Tj
+98.488 269.29 Td
+(but) 17.9334 Tj
+-426 TJm
+(to) 11.9556 Tj
+-426 TJm
+(not) 17.9334 Tj
+-426 TJm
+(accept) 35.8668 Tj
+-426 TJm
+(any) 17.9334 Tj
+-426 TJm
+(mo) 11.9556 Tj
+1 TJm
+(re) 11.9556 Tj
+-426 TJm
+(input.) 35.8668 Tj
+98.488 257.335 Td
+(If) 11.9556 Tj
+-426 TJm
+(all) 17.9334 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(existing) 47.8224 Tj
+-426 TJm
+(inpu) 23.9112 Tj
+1 TJm
+(t) 5.9778 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-426 TJm
+(used) 23.9112 Tj
+-426 TJm
+(up) 11.9556 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(all) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+98.488 245.38 Td
+(output) 35.8668 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-426 TJm
+(removed) 41.8446 Tj
+106.976 233.424 Td
+(Next) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(IDLE;) 29.889 Tj
+-426 TJm
+(Retur) 29.889 Tj
+1 TJm
+(n) 5.9778 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_STREAM_END) 77.7114 Tj
+98.488 221.469 Td
+(else) 23.9112 Tj
+106.976 209.514 Td
+(Next) 23.9112 Tj
+-426 TJm
+(state) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(FINISHING;) 59.778 Tj
+-425 TJm
+(Return) 35.8668 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_FINISHING) 71.7336 Tj
+90 185.604 Td
+(FINISHING/other) 89.667 Tj
+98.488 173.649 Td
+(Illegal.) 47.8224 Tj
+98.488 161.693 Td
+(Return) 35.8668 Tj
+-426 TJm
+(value) 29.889 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_SEQUENC) 59.778 Tj
+1 TJm
+(E_ERROR) 41.8446 Tj
+[1 0 0 1 72 146.152] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -136.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 124.234 Td
+/F128_0 9.963 Tf
+(That) 18.2622 Tj
+-250 TJm
+(still) 14.9545 Tj
+-250 TJm
+(looks) 21.5898 Tj
+-250 TJm
+(complicate) 43.7176 Tj
+1 TJm
+(d?) 9.40507 Tj
+-620 TJm
+(W) 9.40507 Tj
+80 TJm
+(ell,) 12.4538 Tj
+-250 TJm
+(f) 3.31768 Tj
+10 TJm
+(air) 10.511 Tj
+-250 TJm
+(enough.) 31.8218 Tj
+-620 TJm
+(The) 15.4925 Tj
+-250 TJm
+(usual) 21.0319 Tj
+-250 TJm
+(sequence) 36.5144 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(calls) 18.2622 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(com) 17.1563 Tj
+1 TJm
+(pressing) 33.2067 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(load) 17.1563 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(is:) 9.41504 Tj
+[1 0 0 1 72 122.077] cm
+0 g
+0 G
+[1 0 0 1 0 -29.723] cm
+0 g
+0 G
+[1 0 0 1 7.372 0] cm
+0 g
+0 G
+[1 0 0 1 -79.372 -92.354] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+79.372 92.354 Td
+/F128_0 9.963 Tf
+(1.) 7.47225 Tj
+[1 0 0 1 86.844 92.354] cm
+0 g
+0 G
+[1 0 0 1 3.089 0] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 -91.925 -92.354] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+91.925 92.354 Td
+/F128_0 9.963 Tf
+(Get) 14.3866 Tj
+-250 TJm
+(started) 26.5614 Tj
+-250 TJm
+(with) 17.7142 Tj
+[1 0 0 1 158.056 92.354] cm
+0 g
+0 G
+[1 0 0 1 -158.056 -92.354] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+158.056 92.354 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 265.653 92.354] cm
+0 g
+0 G
+[1 0 0 1 -265.653 -92.354] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+265.653 92.354 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 268.144 92.354] cm
+0 g
+0 G
+[1 0 0 1 -196.144 -41.502] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(15) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 19 19
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -31.517] cm
+0 g
+0 G
+[1 0 0 1 7.372 0] cm
+0 g
+0 G
+[1 0 0 1 -79.372 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+79.372 710.037 Td
+/F128_0 9.963 Tf
+(2.) 7.47225 Tj
+[1 0 0 1 86.844 710.037] cm
+0 g
+0 G
+[1 0 0 1 3.089 0] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 -91.925 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+91.925 710.037 Td
+/F128_0 9.963 Tf
+(Sho) 15.5024 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-240 TJm
+(data) 16.5984 Tj
+-240 TJm
+(in) 7.75121 Tj
+-240 TJm
+(and) 14.3866 Tj
+-241 TJm
+(shlur) 19.926 Tj
+1 TJm
+(p) 4.9815 Tj
+-241 TJm
+(out) 12.7327 Tj
+-240 TJm
+(its) 9.41504 Tj
+-240 TJm
+(compressed) 47.0353 Tj
+-240 TJm
+(form) 19.3681 Tj
+-240 TJm
+(using) 21.5898 Tj
+-240 TJm
+(zero) 17.1463 Tj
+-240 TJm
+(or) 8.29918 Tj
+-241 TJm
+(m) 7.75121 Tj
+1 TJm
+(ore) 12.7228 Tj
+-241 TJm
+(calls) 18.2622 Tj
+-240 TJm
+(of) 8.29918 Tj
+[1 0 0 1 401.454 710.037] cm
+0 g
+0 G
+[1 0 0 1 -401.454 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+401.454 710.037 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 485.14 710.037] cm
+0 g
+0 G
+[1 0 0 1 -485.14 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+487.533 710.037 Td
+/F128_0 9.963 Tf
+(with) 17.7142 Tj
+-240 TJm
+(action) 24.3496 Tj
+-240 TJm
+(=) 5.61913 Tj
+[1 0 0 1 91.925 698.082] cm
+0 g
+0 G
+[1 0 0 1 -91.925 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+91.925 698.082 Td
+/F130_0 9.963 Tf
+(BZ_RUN) 35.8668 Tj
+[1 0 0 1 127.791 698.082] cm
+0 g
+0 G
+[1 0 0 1 -127.791 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+127.791 698.082 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 130.281 698.082] cm
+0 g
+0 G
+[1 0 0 1 -58.281 -21.918] cm
+0 g
+0 G
+[1 0 0 1 7.372 0] cm
+0 g
+0 G
+[1 0 0 1 -79.372 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+79.372 676.164 Td
+/F128_0 9.963 Tf
+(3.) 7.47225 Tj
+[1 0 0 1 86.844 676.164] cm
+0 g
+0 G
+[1 0 0 1 3.089 0] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 -91.925 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+91.925 676.164 Td
+/F128_0 9.963 Tf
+(Finish) 24.9175 Tj
+-242 TJm
+(up) 9.963 Tj
+1 TJm
+(.) 2.49075 Tj
+-308 TJm
+(Repeatedl) 39.842 Tj
+1 TJm
+(y) 4.9815 Tj
+-242 TJm
+(call) 14.3866 Tj
+[1 0 0 1 198.784 676.164] cm
+0 g
+0 G
+[1 0 0 1 -198.784 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+198.784 676.164 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 282.471 676.164] cm
+0 g
+0 G
+[1 0 0 1 -282.471 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+284.878 676.164 Td
+/F128_0 9.963 Tf
+(with) 17.7142 Tj
+-242 TJm
+(ac) 8.84714 Tj
+1 TJm
+(tion) 15.5024 Tj
+-242 TJm
+(=) 5.61913 Tj
+[1 0 0 1 339.78 676.164] cm
+0 g
+0 G
+[1 0 0 1 -339.78 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+339.78 676.164 Td
+/F130_0 9.963 Tf
+(BZ_FINISH) 53.8002 Tj
+[1 0 0 1 393.579 676.164] cm
+0 g
+0 G
+[1 0 0 1 -393.579 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+393.579 676.164 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-242 TJm
+(cop) 14.3866 Tj
+10 TJm
+(yi) 7.75121 Tj
+1 TJm
+(ng) 9.963 Tj
+-242 TJm
+(out) 12.7327 Tj
+-242 TJm
+(the) 12.1748 Tj
+-241 TJm
+(compressed) 47.0353 Tj
+-242 TJm
+(output,) 27.9562 Tj
+91.925 664.209 Td
+(until) 18.2721 Tj
+[1 0 0 1 112.687 664.209] cm
+0 g
+0 G
+[1 0 0 1 -112.687 -664.209] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+112.687 664.209 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 190.396 664.209] cm
+0 g
+0 G
+[1 0 0 1 -190.396 -664.209] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+192.886 664.209 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(returned.) 35.6875 Tj
+[1 0 0 1 237.708 664.209] cm
+0 g
+0 G
+[1 0 0 1 -165.708 -21.918] cm
+0 g
+0 G
+[1 0 0 1 7.372 0] cm
+0 g
+0 G
+[1 0 0 1 -79.372 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+79.372 642.291 Td
+/F128_0 9.963 Tf
+(4.) 7.47225 Tj
+[1 0 0 1 86.844 642.291] cm
+0 g
+0 G
+[1 0 0 1 3.089 0] cm
+0 g
+0 G
+[1 0 0 1 1.992 0] cm
+0 g
+0 G
+[1 0 0 1 -91.925 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+91.925 642.291 Td
+/F128_0 9.963 Tf
+(Close) 22.6957 Tj
+-250 TJm
+(up) 9.963 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(go) 9.963 Tj
+-250 TJm
+(home.) 24.6285 Tj
+-620 TJm
+(Call) 16.6083 Tj
+[1 0 0 1 208.796 642.291] cm
+0 g
+0 G
+[1 0 0 1 -208.796 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+208.796 642.291 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressEnd) 101.623 Tj
+[1 0 0 1 310.415 642.291] cm
+0 g
+0 G
+[1 0 0 1 -310.415 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+310.415 642.291 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 312.906 642.291] cm
+0 g
+0 G
+[1 0 0 1 -240.906 -12.119] cm
+0 g
+0 G
+[1 0 0 1 -72 -630.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 620.374 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-269 TJm
+(the) 12.1748 Tj
+-270 TJm
+(data) 16.5984 Tj
+-269 TJm
+(you) 14.9445 Tj
+-270 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-269 TJm
+(to) 7.75121 Tj
+-269 TJm
+(compress) 37.6303 Tj
+-270 TJm
+(\002ts) 12.1847 Tj
+-269 TJm
+(into) 15.5024 Tj
+-270 TJm
+(you) 14.9445 Tj
+1 TJm
+(r) 3.31768 Tj
+-270 TJm
+(input) 20.4839 Tj
+-269 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-270 TJm
+(all) 9.963 Tj
+-269 TJm
+(at) 7.19329 Tj
+-270 TJm
+(on) 9.963 Tj
+1 TJm
+(ce,) 11.3379 Tj
+-275 TJm
+(you) 14.9445 Tj
+-269 TJm
+(can) 13.8286 Tj
+-270 TJm
+(skip) 16.6083 Tj
+-269 TJm
+(the) 12.1748 Tj
+-269 TJm
+(calls) 18.2622 Tj
+-270 TJm
+(of) 8.29918 Tj
+[1 0 0 1 456.314 620.374] cm
+0 g
+0 G
+[1 0 0 1 -456.314 -620.374] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+456.314 620.374 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+72 608.418 Td
+(\() 5.9778 Tj
+-600 TJm
+(...,) 23.9112 Tj
+-600 TJm
+(BZ_RUN) 35.8668 Tj
+-600 TJm
+(\)) 5.9778 Tj
+[1 0 0 1 161.664 608.418] cm
+0 g
+0 G
+[1 0 0 1 -161.664 -608.418] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+164.154 608.418 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+-250 TJm
+(just) 14.3965 Tj
+-250 TJm
+(do) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+[1 0 0 1 225.036 608.418] cm
+0 g
+0 G
+[1 0 0 1 -225.036 -608.418] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+225.036 608.418 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+-600 TJm
+(\() 5.9778 Tj
+-600 TJm
+(...,) 23.9112 Tj
+-600 TJm
+(B) 5.9778 Tj
+1 TJm
+(Z_FINISH) 47.8224 Tj
+-600 TJm
+(\)) 5.9778 Tj
+[1 0 0 1 422.296 608.418] cm
+0 g
+0 G
+[1 0 0 1 -422.296 -608.418] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+424.786 608.418 Td
+/F128_0 9.963 Tf
+(calls.) 20.7529 Tj
+[1 0 0 1 72 606.262] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -596.299] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 586.501 Td
+/F128_0 9.963 Tf
+(All) 12.7327 Tj
+-277 TJm
+(required) 33.1967 Tj
+-278 TJm
+(memory) 33.2067 Tj
+-277 TJm
+(is) 6.64532 Tj
+-278 TJm
+(allocated) 35.9664 Tj
+-277 TJm
+(by) 9.963 Tj
+[1 0 0 1 220.295 586.501] cm
+0 g
+0 G
+[1 0 0 1 -220.295 -586.501] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+220.295 586.501 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 327.891 586.501] cm
+0 g
+0 G
+[1 0 0 1 -327.891 -586.501] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+327.891 586.501 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-785 TJm
+(The) 15.4925 Tj
+-278 TJm
+(compression) 50.363 Tj
+-277 TJm
+(library) 26.5614 Tj
+-277 TJm
+(can) 13.8286 Tj
+-278 TJm
+(accept) 25.4455 Tj
+-277 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-278 TJm
+(data) 16.5984 Tj
+-277 TJm
+(at) 7.19329 Tj
+-278 TJm
+(all) 9.963 Tj
+72 574.545 Td
+(\(ob) 13.2807 Tj
+15 TJm
+(viously\).) 35.1495 Tj
+-612 TJm
+(So) 10.5209 Tj
+-237 TJm
+(you) 14.9445 Tj
+-238 TJm
+(shouldn') 34.8705 Tj
+18 TJm
+(t) 2.76971 Tj
+-238 TJm
+(ge) 9.40507 Tj
+1 TJm
+(t) 2.76971 Tj
+-238 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-238 TJm
+(error) 19.3581 Tj
+-238 TJm
+(r) 3.31768 Tj
+1 TJm
+(eturn) 20.474 Tj
+-238 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues) 20.474 Tj
+-238 TJm
+(from) 19.3681 Tj
+-237 TJm
+(the) 12.1748 Tj
+[1 0 0 1 339.287 574.545] cm
+0 g
+0 G
+[1 0 0 1 -339.287 -574.545] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+339.287 574.545 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 422.973 574.545] cm
+0 g
+0 G
+[1 0 0 1 -422.973 -574.545] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+425.342 574.545 Td
+/F128_0 9.963 Tf
+(calls.) 20.7529 Tj
+-612 TJm
+(If) 6.63536 Tj
+-237 TJm
+(you) 14.9445 Tj
+-238 TJm
+(do,) 12.4538 Tj
+-240 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-238 TJm
+(will) 15.5024 Tj
+-237 TJm
+(be) 9.40507 Tj
+[1 0 0 1 72 562.59] cm
+0 g
+0 G
+[1 0 0 1 -72 -562.59] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 562.59 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+[1 0 0 1 173.619 562.59] cm
+0 g
+0 G
+[1 0 0 1 -173.619 -562.59] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+173.619 562.59 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(indicate) 31.5429 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(your) 18.2622 Tj
+-250 TJm
+(prog) 18.2622 Tj
+1 TJm
+(ramming.) 38.4671 Tj
+[1 0 0 1 72 560.433] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -550.471] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 540.672 Td
+/F128_0 9.963 Tf
+(T) 6.08739 Tj
+35 TJm
+(ri) 6.08739 Tj
+25 TJm
+(vial) 14.9445 Tj
+-250 TJm
+(other) 20.474 Tj
+-250 TJm
+(possible) 32.6587 Tj
+-250 TJm
+(return) 23.7916 Tj
+-249 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 538.516] cm
+0 g
+0 G
+[1 0 0 1 0 -36.862] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -529.151] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 529.151 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 517.196 Td
+(if) 11.9556 Tj
+-426 TJm
+(strm) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL,) 29.889 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(strm) 23.9112 Tj
+1 TJm
+(->s) 17.9334 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+[1 0 0 1 72 501.654] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -491.691] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 471.033 Td
+/F121_0 17.215 Tf
+(3.3.3.) 43.0719 Tj
+[1 0 0 1 119.858 471.033] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -471.033] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 471.033 Td
+/F387_0 17.215 Tf
+(BZ2_bzCompressEnd) 175.593 Tj
+[1 0 0 1 295.455 471.033] cm
+0 g
+0 G
+[1 0 0 1 -223.455 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -459.335] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 459.335 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzCompressEnd) 101.623 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(b) 5.9778 Tj
+1 TJm
+(z_stream) 47.8224 Tj
+-426 TJm
+(*strm) 29.889 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 443.793] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -433.831] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 421.876 Td
+/F128_0 9.963 Tf
+(Releases) 34.8605 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(memory) 33.2067 Tj
+-250 TJm
+(assoc) 21.5799 Tj
+1 TJm
+(iated) 19.3681 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(compression) 50.363 Tj
+-250 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 72 419.719] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -409.756] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 399.958 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 399.858] cm
+0 g
+0 G
+[1 0 0 1 0 -36.861] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -390.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 390.493 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+-852 TJm
+(if) 11.9556 Tj
+-426 TJm
+(strm) 23.9112 Tj
+-425 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(strm->s) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+90 378.538 Td
+(BZ_OK) 29.889 Tj
+-4686 TJm
+(otherw) 35.8668 Tj
+1 TJm
+(ise) 17.9334 Tj
+[1 0 0 1 72 362.997] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -353.034] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 332.375 Td
+/F121_0 17.215 Tf
+(3.3.4.) 43.0719 Tj
+[1 0 0 1 119.858 332.375] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -332.375] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 332.375 Td
+/F387_0 17.215 Tf
+(BZ2_bzDecompressInit) 206.58 Tj
+[1 0 0 1 326.443 332.375] cm
+0 g
+0 G
+[1 0 0 1 -254.443 -2.332] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.323] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -320.678] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 320.678 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzDecompressInit) 119.556 Tj
+-425 TJm
+(\() 5.9778 Tj
+-426 TJm
+(bz_stream) 53.8002 Tj
+-426 TJm
+(*strm,) 35.8668 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(verbosity,) 59.778 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(small) 29.889 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 305.136] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -295.173] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 283.218 Td
+/F128_0 9.963 Tf
+(Prepares) 34.3026 Tj
+-351 TJm
+(for) 11.6169 Tj
+-351 TJm
+(decompression.) 62.2588 Tj
+-1227 TJm
+(As) 11.0689 Tj
+-351 TJm
+(with) 17.7142 Tj
+[1 0 0 1 235.177 283.218] cm
+0 g
+0 G
+[1 0 0 1 -235.177 -283.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+235.177 283.218 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 342.773 283.218] cm
+0 g
+0 G
+[1 0 0 1 -342.773 -283.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+342.773 283.218 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-377 TJm
+(a) 4.42357 Tj
+[1 0 0 1 356.937 283.218] cm
+0 g
+0 G
+[1 0 0 1 -356.937 -283.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+356.937 283.218 Td
+/F130_0 9.963 Tf
+(bz_stream) 53.8002 Tj
+[1 0 0 1 410.736 283.218] cm
+0 g
+0 G
+[1 0 0 1 -410.736 -283.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+414.234 283.218 Td
+/F128_0 9.963 Tf
+(record) 25.4455 Tj
+-351 TJm
+(should) 26.5713 Tj
+-351 TJm
+(be) 9.40507 Tj
+-351 TJm
+(allocated) 35.9664 Tj
+-351 TJm
+(and) 14.3866 Tj
+72 271.263 Td
+(initialised) 39.304 Tj
+-305 TJm
+(before) 25.4455 Tj
+-306 TJm
+(the) 12.1748 Tj
+-305 TJm
+(call.) 16.8773 Tj
+-954 TJm
+(Fields) 24.3595 Tj
+[1 0 0 1 211.833 271.263] cm
+0 g
+0 G
+[1 0 0 1 -211.833 -271.263] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+211.833 271.263 Td
+/F130_0 9.963 Tf
+(bzalloc) 41.8446 Tj
+[1 0 0 1 253.676 271.263] cm
+0 g
+0 G
+[1 0 0 1 -253.676 -271.263] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+253.676 271.263 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 259.35 271.263] cm
+0 g
+0 G
+[1 0 0 1 -259.35 -271.263] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+259.35 271.263 Td
+/F130_0 9.963 Tf
+(bzfree) 35.8668 Tj
+[1 0 0 1 295.215 271.263] cm
+0 g
+0 G
+[1 0 0 1 -295.215 -271.263] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+298.26 271.263 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 315.69 271.263] cm
+0 g
+0 G
+[1 0 0 1 -315.69 -271.263] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+315.69 271.263 Td
+/F130_0 9.963 Tf
+(opaque) 35.8668 Tj
+[1 0 0 1 351.556 271.263] cm
+0 g
+0 G
+[1 0 0 1 -351.556 -271.263] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+354.6 271.263 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-305 TJm
+(be) 9.40507 Tj
+-306 TJm
+(set) 11.0689 Tj
+-306 TJm
+(if) 6.08739 Tj
+-305 TJm
+(a) 4.42357 Tj
+-306 TJm
+(custom) 28.7831 Tj
+-305 TJm
+(memory) 33.2067 Tj
+-306 TJm
+(al) 7.19329 Tj
+1 TJm
+(locator) 27.6673 Tj
+-306 TJm
+(is) 6.64532 Tj
+72 259.308 Td
+(required,) 35.6875 Tj
+-350 TJm
+(or) 8.29918 Tj
+-330 TJm
+(made) 21.5799 Tj
+[1 0 0 1 147.635 259.308] cm
+0 g
+0 G
+[1 0 0 1 -147.635 -259.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+147.635 259.308 Td
+/F130_0 9.963 Tf
+(NULL) 23.9112 Tj
+[1 0 0 1 171.546 259.308] cm
+0 g
+0 G
+[1 0 0 1 -171.546 -259.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+174.836 259.308 Td
+/F128_0 9.963 Tf
+(for) 11.6169 Tj
+-330 TJm
+(the) 12.1748 Tj
+-330 TJm
+(normal) 28.2252 Tj
+[1 0 0 1 236.722 259.308] cm
+0 g
+0 G
+[1 0 0 1 -236.722 -259.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+236.722 259.308 Td
+/F130_0 9.963 Tf
+(malloc) 35.8668 Tj
+[1 0 0 1 272.587 259.308] cm
+0 g
+0 G
+[1 0 0 1 -272.587 -259.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+275.878 259.308 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 281.938 259.308] cm
+0 g
+0 G
+[1 0 0 1 -281.938 -259.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+281.938 259.308 Td
+/F130_0 9.963 Tf
+(free) 23.9112 Tj
+[1 0 0 1 305.848 259.308] cm
+0 g
+0 G
+[1 0 0 1 -305.848 -259.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+309.139 259.308 Td
+/F128_0 9.963 Tf
+(routines.) 34.5915 Tj
+-1102 TJm
+(Upo) 17.1563 Tj
+1 TJm
+(n) 4.9815 Tj
+-331 TJm
+(return,) 26.2824 Tj
+-350 TJm
+(the) 12.1748 Tj
+-330 TJm
+(internal) 30.437 Tj
+-330 TJm
+(state) 18.2622 Tj
+-331 TJm
+(wi) 9.963 Tj
+1 TJm
+(ll) 5.53943 Tj
+-331 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-330 TJm
+(been) 18.8101 Tj
+72 247.353 Td
+(initialised,) 41.7948 Tj
+-250 TJm
+(and) 14.3866 Tj
+[1 0 0 1 133.16 247.353] cm
+0 g
+0 G
+[1 0 0 1 -133.16 -247.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+133.16 247.353 Td
+/F130_0 9.963 Tf
+(total_in) 47.8224 Tj
+[1 0 0 1 180.98 247.353] cm
+0 g
+0 G
+[1 0 0 1 -180.98 -247.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+183.471 247.353 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 200.348 247.353] cm
+0 g
+0 G
+[1 0 0 1 -200.348 -247.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+200.348 247.353 Td
+/F130_0 9.963 Tf
+(total_out) 53.8002 Tj
+[1 0 0 1 254.146 247.353] cm
+0 g
+0 G
+[1 0 0 1 -254.146 -247.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+256.637 247.353 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(zero.) 19.6371 Tj
+[1 0 0 1 72 245.913] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -235.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 225.435 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(meaning) 34.3126 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(parameter) 39.8321 Tj
+[1 0 0 1 192.756 225.435] cm
+0 g
+0 G
+[1 0 0 1 -192.756 -225.435] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+192.756 225.435 Td
+/F130_0 9.963 Tf
+(verbosity) 53.8002 Tj
+[1 0 0 1 246.554 225.435] cm
+0 g
+0 G
+[1 0 0 1 -246.554 -225.435] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+246.554 225.435 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(see) 12.7228 Tj
+[1 0 0 1 266.748 225.435] cm
+0 g
+0 G
+[1 0 0 1 -266.748 -225.435] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+266.748 225.435 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 374.345 225.435] cm
+0 g
+0 G
+[1 0 0 1 -374.345 -225.435] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+374.345 225.435 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 223.278] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -213.316] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 203.517 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+[1 0 0 1 81.497 203.517] cm
+0 g
+0 G
+[1 0 0 1 -81.497 -203.517] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+81.497 203.517 Td
+/F130_0 9.963 Tf
+(small) 29.889 Tj
+[1 0 0 1 111.385 203.517] cm
+0 g
+0 G
+[1 0 0 1 -111.385 -203.517] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+114.248 203.517 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-287 TJm
+(nonzero,) 34.5816 Tj
+-297 TJm
+(the) 12.1748 Tj
+-287 TJm
+(library) 26.5614 Tj
+-287 TJm
+(will) 15.5024 Tj
+-287 TJm
+(use) 13.2807 Tj
+-288 TJm
+(an) 9.40507 Tj
+-287 TJm
+(alternati) 32.6488 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-287 TJm
+(decompression) 59.768 Tj
+-287 TJm
+(algorithm) 38.7461 Tj
+-287 TJm
+(which) 24.3496 Tj
+-287 TJm
+(uses) 17.1563 Tj
+-288 TJm
+(less) 14.9445 Tj
+-287 TJm
+(memory) 33.2067 Tj
+-287 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-287 TJm
+(at) 7.19329 Tj
+-287 TJm
+(the) 12.1748 Tj
+72 191.562 Td
+(cost) 16.0504 Tj
+-289 TJm
+(of) 8.29918 Tj
+-290 TJm
+(deco) 18.8101 Tj
+1 TJm
+(mpressing) 40.9579 Tj
+-290 TJm
+(more) 20.474 Tj
+-289 TJm
+(slo) 11.6268 Tj
+25 TJm
+(wly) 14.9445 Tj
+-289 TJm
+(\(roughly) 34.3126 Tj
+-289 TJm
+(speaking,) 37.9092 Tj
+-299 TJm
+(half) 15.4925 Tj
+-290 TJm
+(the) 12.1748 Tj
+-289 TJm
+(speed,) 25.1765 Tj
+-299 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-289 TJm
+(the) 12.1748 Tj
+-290 TJm
+(m) 7.75121 Tj
+1 TJm
+(aximum) 32.6587 Tj
+-290 TJm
+(memory) 33.2067 Tj
+-289 TJm
+(requirement) 48.1412 Tj
+-289 TJm
+(drops) 22.1378 Tj
+72 179.607 Td
+(to) 7.75121 Tj
+-250 TJm
+(around) 27.6673 Tj
+-250 TJm
+(2300k\).) 30.7159 Tj
+-620 TJm
+(See) 14.3866 Tj
+[1 0 0 1 166.166 179.607] cm
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -166.166 -179.607] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+166.166 179.607 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(bzip2) 22.1378 Tj
+[1 0 0 1 235.924 179.607] cm
+0 g
+0 G
+0 0 1 rg
+0 0 1 RG
+0 0 1 rg
+0 0 1 RG
+[1 0 0 1 -235.924 -179.607] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+238.415 179.607 Td
+/F128_0 9.963 Tf
+([2]) 11.6169 Tj
+[1 0 0 1 250.031 179.607] cm
+0 0 1 rg
+0 0 1 RG
+0 g
+0 G
+[1 0 0 1 -250.031 -179.607] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+252.522 179.607 Td
+/F128_0 9.963 Tf
+(for) 11.6169 Tj
+-250 TJm
+(more) 20.474 Tj
+-250 TJm
+(information) 47.0453 Tj
+-250 TJm
+(on) 9.963 Tj
+-250 TJm
+(mem) 19.926 Tj
+1 TJm
+(ory) 13.2807 Tj
+-250 TJm
+(management.) 53.4017 Tj
+[1 0 0 1 72 177.45] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -167.487] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 157.689 Td
+/F128_0 9.963 Tf
+(Note) 19.3681 Tj
+-289 TJm
+(that) 14.9445 Tj
+-289 TJm
+(the) 12.1748 Tj
+-290 TJm
+(amou) 22.1378 Tj
+1 TJm
+(nt) 7.75121 Tj
+-290 TJm
+(of) 8.29918 Tj
+-289 TJm
+(memory) 33.2067 Tj
+-289 TJm
+(needed) 28.2152 Tj
+-289 TJm
+(to) 7.75121 Tj
+-289 TJm
+(decompress) 47.0353 Tj
+-290 TJm
+(a) 4.42357 Tj
+-289 TJm
+(stream) 26.5614 Tj
+-289 TJm
+(cannot) 26.5614 Tj
+-289 TJm
+(be) 9.40507 Tj
+-289 TJm
+(determined) 44.8235 Tj
+-289 TJm
+(until) 18.2721 Tj
+-290 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-290 TJm
+(stream') 29.879 Tj
+55 TJm
+(s) 3.87561 Tj
+-289 TJm
+(header) 26.5514 Tj
+-289 TJm
+(has) 13.2807 Tj
+72 145.734 Td
+(been) 18.8101 Tj
+-342 TJm
+(read,) 19.6371 Tj
+-365 TJm
+(so) 8.85711 Tj
+-343 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-342 TJm
+(if) 6.08739 Tj
+[1 0 0 1 161.081 145.734] cm
+0 g
+0 G
+[1 0 0 1 -161.081 -145.734] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.081 145.734 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressInit) 119.556 Tj
+[1 0 0 1 280.633 145.734] cm
+0 g
+0 G
+[1 0 0 1 -280.633 -145.734] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+284.043 145.734 Td
+/F128_0 9.963 Tf
+(succeeds,) 37.8993 Tj
+-365 TJm
+(a) 4.42357 Tj
+-342 TJm
+(subsequent) 44.2756 Tj
+[1 0 0 1 381.098 145.734] cm
+0 g
+0 G
+[1 0 0 1 -381.098 -145.734] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+381.098 145.734 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 476.739 145.734] cm
+0 g
+0 G
+[1 0 0 1 -476.739 -145.734] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+480.149 145.734 Td
+/F128_0 9.963 Tf
+(could) 22.1378 Tj
+-342 TJm
+(f) 3.31768 Tj
+10 TJm
+(ail) 9.963 Tj
+-342 TJm
+(with) 17.7142 Tj
+[1 0 0 1 72 133.779] cm
+0 g
+0 G
+[1 0 0 1 -72 -133.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 133.779 Td
+/F130_0 9.963 Tf
+(BZ_MEM_ERROR) 71.7336 Tj
+[1 0 0 1 143.731 133.779] cm
+0 g
+0 G
+[1 0 0 1 -143.731 -133.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+143.731 133.779 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 132.613] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -122.651] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 111.861 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 111.761] cm
+0 g
+0 G
+[1 0 0 1 0 -60.909] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(16) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 20 20
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -117.195] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 95.641 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 92.055] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(BZ_CONFIG_ERROR) 89.667 Tj
+98.488 699.676 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(library) 41.8446 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-425 TJm
+(mis-compiled) 71.7336 Tj
+90 687.721 Td
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 675.766 Td
+(if) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(small) 29.889 Tj
+-426 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(&&) 11.9556 Tj
+-426 TJm
+(small) 29.889 Tj
+-425 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(1) 5.9778 Tj
+-426 TJm
+(\)) 5.9778 Tj
+98.488 663.811 Td
+(or) 11.9556 Tj
+-426 TJm
+(\(verbosity) 59.778 Tj
+-426 TJm
+(<;) 11.9556 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(||) 11.9556 Tj
+-426 TJm
+(ve) 11.9556 Tj
+1 TJm
+(rbosity) 41.8446 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(4\)) 11.9556 Tj
+90 651.856 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 639.9 Td
+(if) 11.9556 Tj
+-426 TJm
+(insufficient) 71.7336 Tj
+-426 TJm
+(memory) 35.8668 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(available) 53.8002 Tj
+[1 0 0 1 72 624.359] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -614.396] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 602.441 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 602.341] cm
+0 g
+0 G
+[1 0 0 1 0 -48.817] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 47.821 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 44.234] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -592.976] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 592.976 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+98.488 581.021 Td
+(if) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(returned) 47.8224 Tj
+98.488 569.066 Td
+(no) 11.9556 Tj
+-426 TJm
+(specific) 47.8224 Tj
+-426 TJm
+(action) 35.8668 Tj
+-426 TJm
+(requir) 35.8668 Tj
+1 TJm
+(ed) 11.9556 Tj
+-426 TJm
+(in) 11.9556 Tj
+-426 TJm
+(case) 23.9112 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(error) 29.889 Tj
+[1 0 0 1 72 553.524] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -543.562] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 522.903 Td
+/F121_0 17.215 Tf
+(3.3.5.) 43.0719 Tj
+[1 0 0 1 119.858 522.903] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -522.903] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 522.903 Td
+/F387_0 17.215 Tf
+(BZ2_bzDecompress) 165.264 Tj
+[1 0 0 1 285.126 522.903] cm
+0 g
+0 G
+[1 0 0 1 -213.126 -2.332] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.323] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -511.206] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 511.206 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzDecompress) 95.6448 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(bz) 11.9556 Tj
+1 TJm
+(_stream) 41.8446 Tj
+-426 TJm
+(*strm) 29.889 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 495.664] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 473.746 Td
+/F128_0 9.963 Tf
+(Pro) 13.8386 Tj
+15 TJm
+(vides) 21.0319 Tj
+-301 TJm
+(more) 20.474 Tj
+-302 TJm
+(inpu) 17.7142 Tj
+1 TJm
+(t) 2.76971 Tj
+-302 TJm
+(and/out) 29.889 Tj
+-301 TJm
+(output) 25.4654 Tj
+-301 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-302 TJm
+(space) 22.1278 Tj
+-301 TJm
+(for) 11.6169 Tj
+-301 TJm
+(the) 12.1748 Tj
+-302 TJm
+(library) 26.5614 Tj
+65 TJm
+(.) 2.49075 Tj
+-928 TJm
+(The) 15.4925 Tj
+-301 TJm
+(caller) 22.1278 Tj
+-302 TJm
+(maintains) 38.7461 Tj
+-301 TJm
+(input) 20.4839 Tj
+-301 TJm
+(and) 14.3866 Tj
+-302 TJm
+(out) 12.7327 Tj
+1 TJm
+(put) 12.7327 Tj
+-302 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fers,) 17.4253 Tj
+-314 TJm
+(and) 14.3866 Tj
+72 461.791 Td
+(uses) 17.1563 Tj
+[1 0 0 1 91.646 461.791] cm
+0 g
+0 G
+[1 0 0 1 -91.646 -461.791] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+91.646 461.791 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 187.287 461.791] cm
+0 g
+0 G
+[1 0 0 1 -187.287 -461.791] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+189.778 461.791 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(transfer) 30.427 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(between) 33.1967 Tj
+-250 TJm
+(them) 19.926 Tj
+1 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 460.227] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -450.264] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 439.873 Td
+/F128_0 9.963 Tf
+(Before) 27.1093 Tj
+-498 TJm
+(each) 18.2522 Tj
+-498 TJm
+(call) 14.3866 Tj
+-499 TJm
+(to) 7.75121 Tj
+[1 0 0 1 159.356 439.873] cm
+0 g
+0 G
+[1 0 0 1 -159.356 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+159.356 439.873 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 254.997 439.873] cm
+0 g
+0 G
+[1 0 0 1 -254.997 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+254.997 439.873 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 263.071 439.873] cm
+0 g
+0 G
+[1 0 0 1 -263.071 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+263.071 439.873 Td
+/F130_0 9.963 Tf
+(next_in) 41.8446 Tj
+[1 0 0 1 304.914 439.873] cm
+0 g
+0 G
+[1 0 0 1 -304.914 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+309.879 439.873 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-498 TJm
+(point) 20.4839 Tj
+-498 TJm
+(at) 7.19329 Tj
+-499 TJm
+(the) 12.1748 Tj
+-498 TJm
+(compressed) 47.0353 Tj
+-498 TJm
+(data,) 19.0891 Tj
+-560 TJm
+(and) 14.3866 Tj
+[1 0 0 1 492.179 439.873] cm
+0 g
+0 G
+[1 0 0 1 -492.179 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+492.179 439.873 Td
+/F130_0 9.963 Tf
+(avail_in) 47.8224 Tj
+[1 0 0 1 540 439.873] cm
+0 g
+0 G
+[1 0 0 1 -540 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 427.918 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-308 TJm
+(indicate) 31.5429 Tj
+-308 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-308 TJm
+(man) 17.1563 Tj
+15 TJm
+(y) 4.9815 Tj
+-308 TJm
+(bytes) 21.0319 Tj
+-308 TJm
+(the) 12.1748 Tj
+-309 TJm
+(library) 26.5614 Tj
+-308 TJm
+(may) 17.1563 Tj
+-308 TJm
+(read.) 19.6371 Tj
+[1 0 0 1 294.955 427.918] cm
+0 g
+0 G
+[1 0 0 1 -294.955 -427.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+294.955 427.918 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 390.597 427.918] cm
+0 g
+0 G
+[1 0 0 1 -390.597 -427.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+393.667 427.918 Td
+/F128_0 9.963 Tf
+(updates) 30.437 Tj
+[1 0 0 1 427.173 427.918] cm
+0 g
+0 G
+[1 0 0 1 -427.173 -427.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+427.173 427.918 Td
+/F130_0 9.963 Tf
+(next_in) 41.8446 Tj
+[1 0 0 1 469.016 427.918] cm
+0 g
+0 G
+[1 0 0 1 -469.016 -427.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+469.016 427.918 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 474.723 427.918] cm
+0 g
+0 G
+[1 0 0 1 -474.723 -427.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+474.723 427.918 Td
+/F130_0 9.963 Tf
+(avail_in) 47.8224 Tj
+[1 0 0 1 522.543 427.918] cm
+0 g
+0 G
+[1 0 0 1 -522.543 -427.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+525.614 427.918 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 72 415.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -415.963] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 415.963 Td
+/F130_0 9.963 Tf
+(total_in) 47.8224 Tj
+[1 0 0 1 119.821 415.963] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -415.963] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+122.311 415.963 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(re\003ect) 24.8975 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(number) 30.437 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(bytes) 21.0319 Tj
+-250 TJm
+(i) 2.76971 Tj
+1 TJm
+(t) 2.76971 Tj
+-250 TJm
+(has) 13.2807 Tj
+-250 TJm
+(read.) 19.6371 Tj
+[1 0 0 1 72 413.806] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -403.843] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 394.045 Td
+/F128_0 9.963 Tf
+(Similarly) 37.0922 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 113.799 394.045] cm
+0 g
+0 G
+[1 0 0 1 -113.799 -394.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+113.799 394.045 Td
+/F130_0 9.963 Tf
+(next_out) 47.8224 Tj
+[1 0 0 1 161.62 394.045] cm
+0 g
+0 G
+[1 0 0 1 -161.62 -394.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+164.41 394.045 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-280 TJm
+(point) 20.4839 Tj
+-280 TJm
+(to) 7.75121 Tj
+-280 TJm
+(a) 4.42357 Tj
+-280 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-280 TJm
+(in) 7.75121 Tj
+-280 TJm
+(which) 24.3496 Tj
+-280 TJm
+(the) 12.1748 Tj
+-280 TJm
+(uncompressed) 56.9983 Tj
+-280 TJm
+(output) 25.4654 Tj
+-280 TJm
+(is) 6.64532 Tj
+-280 TJm
+(to) 7.75121 Tj
+-280 TJm
+(be) 9.40507 Tj
+-280 TJm
+(placed,) 28.4942 Tj
+-288 TJm
+(with) 17.7142 Tj
+[1 0 0 1 486.202 394.045] cm
+0 g
+0 G
+[1 0 0 1 -486.202 -394.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+486.202 394.045 Td
+/F130_0 9.963 Tf
+(avail_out) 53.8002 Tj
+[1 0 0 1 540 394.045] cm
+0 g
+0 G
+[1 0 0 1 -540 -394.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 382.09 Td
+/F128_0 9.963 Tf
+(indicating) 39.852 Tj
+-524 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-525 TJm
+(much) 22.1378 Tj
+-524 TJm
+(output) 25.4654 Tj
+-525 TJm
+(space) 22.1278 Tj
+-524 TJm
+(is) 6.64532 Tj
+-525 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailable.) 29.0521 Tj
+[1 0 0 1 285.792 382.09] cm
+0 g
+0 G
+[1 0 0 1 -285.792 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+285.792 382.09 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 369.478 382.09] cm
+0 g
+0 G
+[1 0 0 1 -369.478 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+374.705 382.09 Td
+/F128_0 9.963 Tf
+(updates) 30.437 Tj
+[1 0 0 1 410.367 382.09] cm
+0 g
+0 G
+[1 0 0 1 -410.367 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+410.367 382.09 Td
+/F130_0 9.963 Tf
+(next_out) 47.8224 Tj
+[1 0 0 1 458.188 382.09] cm
+0 g
+0 G
+[1 0 0 1 -458.188 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+458.188 382.09 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 466.589 382.09] cm
+0 g
+0 G
+[1 0 0 1 -466.589 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+466.589 382.09 Td
+/F130_0 9.963 Tf
+(avail_out) 53.8002 Tj
+[1 0 0 1 520.387 382.09] cm
+0 g
+0 G
+[1 0 0 1 -520.387 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+525.614 382.09 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 72 370.135] cm
+0 g
+0 G
+[1 0 0 1 -72 -370.135] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 370.135 Td
+/F130_0 9.963 Tf
+(total_out) 53.8002 Tj
+[1 0 0 1 125.798 370.135] cm
+0 g
+0 G
+[1 0 0 1 -125.798 -370.135] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+128.289 370.135 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(re\003ect) 24.8975 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(number) 30.437 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(bytes) 21.0319 Tj
+-249 TJm
+(output.) 27.9562 Tj
+[1 0 0 1 72 367.978] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -358.015] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 348.217 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-320 TJm
+(may) 17.1563 Tj
+-321 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vide) 17.1563 Tj
+-320 TJm
+(and) 14.3866 Tj
+-320 TJm
+(remo) 20.474 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-321 TJm
+(as) 8.29918 Tj
+-320 TJm
+(little) 18.2721 Tj
+-320 TJm
+(or) 8.29918 Tj
+-321 TJm
+(as) 8.29918 Tj
+-320 TJm
+(much) 22.1378 Tj
+-320 TJm
+(data) 16.5984 Tj
+-321 TJm
+(as) 8.29918 Tj
+-320 TJm
+(you) 14.9445 Tj
+-321 TJm
+(lik) 10.5209 Tj
+11 TJm
+(e) 4.42357 Tj
+-321 TJm
+(on) 9.963 Tj
+-320 TJm
+(each) 18.2522 Tj
+-321 TJm
+(call) 14.3866 Tj
+-320 TJm
+(of) 8.29918 Tj
+[1 0 0 1 407.816 348.217] cm
+0 g
+0 G
+[1 0 0 1 -407.816 -348.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+407.816 348.217 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 503.457 348.217] cm
+0 g
+0 G
+[1 0 0 1 -503.457 -348.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+503.457 348.217 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1043 TJm
+(In) 8.29918 Tj
+-320 TJm
+(the) 12.1748 Tj
+72 336.262 Td
+(limit,) 21.3208 Tj
+-295 TJm
+(it) 5.53943 Tj
+-286 TJm
+(is) 6.64532 Tj
+-287 TJm
+(ac) 8.84714 Tj
+1 TJm
+(ceptable) 33.1967 Tj
+-287 TJm
+(to) 7.75121 Tj
+-286 TJm
+(supply) 26.5713 Tj
+-286 TJm
+(and) 14.3866 Tj
+-286 TJm
+(remo) 20.474 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-286 TJm
+(data) 16.5984 Tj
+-286 TJm
+(one) 14.3866 Tj
+-286 TJm
+(byte) 17.1563 Tj
+-287 TJm
+(at) 7.19329 Tj
+-286 TJm
+(a) 4.42357 Tj
+-286 TJm
+(time,) 20.205 Tj
+-295 TJm
+(although) 34.8705 Tj
+-286 TJm
+(this) 14.3965 Tj
+-286 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-287 TJm
+(be) 9.40507 Tj
+-286 TJm
+(terribly) 29.3311 Tj
+-286 TJm
+(inef) 15.4925 Tj
+25 TJm
+(\002cient.) 27.3983 Tj
+-837 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+72 324.307 Td
+(should) 26.5713 Tj
+-250 TJm
+(al) 7.19329 Tj
+10 TJm
+(w) 7.19329 Tj
+10 TJm
+(ays) 13.2807 Tj
+-250 TJm
+(ensure) 26.0034 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(at) 7.19329 Tj
+-249 TJm
+(least) 18.2622 Tj
+-250 TJm
+(one) 14.3866 Tj
+-250 TJm
+(byte) 17.1563 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(output) 25.4654 Tj
+-250 TJm
+(space) 22.1278 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailable) 26.5614 Tj
+-250 TJm
+(at) 7.19329 Tj
+-250 TJm
+(each) 18.2522 Tj
+-250 TJm
+(call.) 16.8773 Tj
+[1 0 0 1 72 322.15] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -312.187] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 302.389 Td
+/F128_0 9.963 Tf
+(Use) 15.4925 Tj
+-250 TJm
+(of) 8.29918 Tj
+[1 0 0 1 100.772 302.389] cm
+0 g
+0 G
+[1 0 0 1 -100.772 -302.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+100.772 302.389 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 196.413 302.389] cm
+0 g
+0 G
+[1 0 0 1 -196.413 -302.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+198.904 302.389 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(simpler) 29.889 Tj
+-250 TJm
+(than) 17.1563 Tj
+[1 0 0 1 260.064 302.389] cm
+0 g
+0 G
+[1 0 0 1 -260.064 -302.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+260.064 302.389 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 343.75 302.389] cm
+0 g
+0 G
+[1 0 0 1 -343.75 -302.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+343.75 302.389 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 300.232] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -290.269] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 280.471 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-346 TJm
+(should) 26.5713 Tj
+-346 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vide) 17.1563 Tj
+-346 TJm
+(input) 20.4839 Tj
+-347 TJm
+(and) 14.3866 Tj
+-346 TJm
+(remo) 20.474 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-346 TJm
+(output) 25.4654 Tj
+-346 TJm
+(as) 8.29918 Tj
+-346 TJm
+(described) 38.1782 Tj
+-346 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e,) 6.91432 Tj
+-371 TJm
+(and) 14.3866 Tj
+-346 TJm
+(repeatedly) 41.4959 Tj
+-346 TJm
+(call) 14.3866 Tj
+[1 0 0 1 422.638 280.471] cm
+0 g
+0 G
+[1 0 0 1 -422.638 -280.471] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+422.638 280.471 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 518.279 280.471] cm
+0 g
+0 G
+[1 0 0 1 -518.279 -280.471] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+521.729 280.471 Td
+/F128_0 9.963 Tf
+(until) 18.2721 Tj
+[1 0 0 1 72 268.516] cm
+0 g
+0 G
+[1 0 0 1 -72 -268.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 268.516 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 149.709 268.516] cm
+0 g
+0 G
+[1 0 0 1 -149.709 -268.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+152.314 268.516 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-262 TJm
+(ret) 10.511 Tj
+1 TJm
+(urned.) 25.1765 Tj
+-345 TJm
+(Appearance) 47.5733 Tj
+-261 TJm
+(of) 8.29918 Tj
+[1 0 0 1 261.767 268.516] cm
+0 g
+0 G
+[1 0 0 1 -261.767 -268.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+261.767 268.516 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 339.475 268.516] cm
+0 g
+0 G
+[1 0 0 1 -339.475 -268.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+342.081 268.516 Td
+/F128_0 9.963 Tf
+(denotes) 30.437 Tj
+-261 TJm
+(that) 14.9445 Tj
+[1 0 0 1 392.672 268.516] cm
+0 g
+0 G
+[1 0 0 1 -392.672 -268.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+392.672 268.516 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 488.313 268.516] cm
+0 g
+0 G
+[1 0 0 1 -488.313 -268.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+490.919 268.516 Td
+/F128_0 9.963 Tf
+(has) 13.2807 Tj
+-261 TJm
+(detected) 33.1967 Tj
+72 256.561 Td
+(the) 12.1748 Tj
+-212 TJm
+(logical) 27.1193 Tj
+-211 TJm
+(end) 14.3866 Tj
+-212 TJm
+(of) 8.29918 Tj
+-212 TJm
+(the) 12.1748 Tj
+-212 TJm
+(compressed) 47.0353 Tj
+-211 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 237.858 256.561] cm
+0 g
+0 G
+[1 0 0 1 -237.858 -256.561] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+237.858 256.561 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 333.499 256.561] cm
+0 g
+0 G
+[1 0 0 1 -333.499 -256.561] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+335.609 256.561 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-212 TJm
+(not) 12.7327 Tj
+-212 TJm
+(pr) 8.29918 Tj
+1 TJm
+(oduce) 23.7916 Tj
+[1 0 0 1 402.263 256.561] cm
+0 g
+0 G
+[1 0 0 1 -402.263 -256.561] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+402.263 256.561 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 479.972 256.561] cm
+0 g
+0 G
+[1 0 0 1 -479.972 -256.561] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+482.082 256.561 Td
+/F128_0 9.963 Tf
+(until) 18.2721 Tj
+-212 TJm
+(all) 9.963 Tj
+-211 TJm
+(output) 25.4654 Tj
+72 244.605 Td
+(data) 16.5984 Tj
+-256 TJm
+(has) 13.2807 Tj
+-255 TJm
+(been) 18.8101 Tj
+-256 TJm
+(placed) 26.0034 Tj
+-256 TJm
+(into) 15.5024 Tj
+-256 TJm
+(the) 12.1748 Tj
+-255 TJm
+(output) 25.4654 Tj
+-256 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+40 TJm
+(,) 2.49075 Tj
+-257 TJm
+(so) 8.85711 Tj
+-256 TJm
+(once) 18.8101 Tj
+[1 0 0 1 278.979 244.605] cm
+0 g
+0 G
+[1 0 0 1 -278.979 -244.605] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+278.979 244.605 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 356.687 244.605] cm
+0 g
+0 G
+[1 0 0 1 -356.687 -244.605] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+359.236 244.605 Td
+/F128_0 9.963 Tf
+(appears,) 32.9178 Tj
+-257 TJm
+(you) 14.9445 Tj
+-256 TJm
+(are) 12.1648 Tj
+-256 TJm
+(guaran) 27.1093 Tj
+1 TJm
+(teed) 16.5984 Tj
+-256 TJm
+(to) 7.75121 Tj
+-256 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-256 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailable) 26.5614 Tj
+72 232.65 Td
+(all) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(decompressed) 56.4404 Tj
+-250 TJm
+(output,) 27.9562 Tj
+-249 TJm
+(and) 14.3866 Tj
+[1 0 0 1 205.369 232.65] cm
+0 g
+0 G
+[1 0 0 1 -205.369 -232.65] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+205.369 232.65 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressEnd) 113.578 Tj
+[1 0 0 1 318.943 232.65] cm
+0 g
+0 G
+[1 0 0 1 -318.943 -232.65] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+321.433 232.65 Td
+/F128_0 9.963 Tf
+(can) 13.8286 Tj
+-250 TJm
+(safely) 23.7916 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(called.) 26.2824 Tj
+[1 0 0 1 72 230.493] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -220.531] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 210.732 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-250 TJm
+(case) 17.1463 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(an) 9.40507 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+1 TJm
+(,) 2.49075 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(call) 14.3866 Tj
+[1 0 0 1 261.259 210.732] cm
+0 g
+0 G
+[1 0 0 1 -261.259 -210.732] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+261.259 210.732 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressEnd) 113.578 Tj
+[1 0 0 1 374.833 210.732] cm
+0 g
+0 G
+[1 0 0 1 -374.833 -210.732] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+377.323 210.732 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(clean) 21.0219 Tj
+-250 TJm
+(up) 9.963 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(release) 27.6573 Tj
+-250 TJm
+(memor) 28.2252 Tj
+1 TJm
+(y) 4.9815 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 208.576] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -198.613] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 188.815 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 188.715] cm
+0 g
+0 G
+[1 0 0 1 0 -137.863] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(17) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 21 21
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -200.882] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 179.328 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 175.741] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 699.676 Td
+(if) 11.9556 Tj
+-426 TJm
+(strm) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(strm-) 29.889 Tj
+1 TJm
+(>s) 11.9556 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+98.488 687.721 Td
+(or) 11.9556 Tj
+-426 TJm
+(strm->avail_out) 89.667 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(1) 5.9778 Tj
+90 675.766 Td
+(BZ_DATA_ERROR) 77.7114 Tj
+98.488 663.811 Td
+(if) 11.9556 Tj
+-426 TJm
+(a) 5.9778 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(integrity) 53.8002 Tj
+-426 TJm
+(erro) 23.9112 Tj
+1 TJm
+(r) 5.9778 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(detected) 47.8224 Tj
+-426 TJm
+(in) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(stream) 35.8668 Tj
+90 651.856 Td
+(BZ_DATA_ERROR_MAGIC) 113.578 Tj
+98.488 639.9 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(stream) 35.8668 Tj
+-425 TJm
+(doesn't) 41.8446 Tj
+-426 TJm
+(begin) 29.889 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(right) 29.889 Tj
+-426 TJm
+(magic) 29.889 Tj
+-426 TJm
+(bytes) 29.889 Tj
+90 627.945 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 615.99 Td
+(if) 11.9556 Tj
+-426 TJm
+(there) 29.889 Tj
+-426 TJm
+(wasn't) 35.8668 Tj
+-426 TJm
+(enough) 35.8668 Tj
+-426 TJm
+(m) 5.9778 Tj
+1 TJm
+(emory) 29.889 Tj
+-426 TJm
+(available) 53.8002 Tj
+90 604.035 Td
+(BZ_STREAM_END) 77.7114 Tj
+98.488 592.08 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(logical) 41.8446 Tj
+-426 TJm
+(end) 17.9334 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(th) 11.9556 Tj
+1 TJm
+(e) 5.9778 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(stream) 35.8668 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(detected) 47.8224 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(all) 17.9334 Tj
+98.488 580.124 Td
+(output) 35.8668 Tj
+-426 TJm
+(in) 11.9556 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-426 TJm
+(consu) 29.889 Tj
+1 TJm
+(med,) 23.9112 Tj
+-426 TJm
+(eg) 11.9556 Tj
+-426 TJm
+(s-->avail_out) 77.7114 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+90 568.169 Td
+(BZ_OK) 29.889 Tj
+98.488 556.214 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 540.672] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -530.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 518.755 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 518.655] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 56.189] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -509.29] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 509.29 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+98.488 497.335 Td
+(if) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(returned) 47.8224 Tj
+90 485.38 Td
+(BZ2_bzDecompressEnd) 113.578 Tj
+98.488 473.425 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 457.883] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -447.92] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 427.262 Td
+/F121_0 17.215 Tf
+(3.3.6.) 43.0719 Tj
+[1 0 0 1 119.858 427.262] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -427.262] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 427.262 Td
+/F387_0 17.215 Tf
+(BZ2_bzDecompressEnd) 196.251 Tj
+[1 0 0 1 316.114 427.262] cm
+0 g
+0 G
+[1 0 0 1 -244.114 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.906] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -415.564] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 415.564 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzDecompressEnd) 113.578 Tj
+-426 TJm
+(\() 5.9778 Tj
+-425 TJm
+(bz_stream) 53.8002 Tj
+-426 TJm
+(*strm) 29.889 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 400.023] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -390.06] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 378.105 Td
+/F128_0 9.963 Tf
+(Releases) 34.8605 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(memory) 33.2067 Tj
+-250 TJm
+(assoc) 21.5799 Tj
+1 TJm
+(iated) 19.3681 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(decompression) 59.768 Tj
+-250 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 72 375.948] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -365.985] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 356.187 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 356.087] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 56.189] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -346.723] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 346.723 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 334.767 Td
+(if) 11.9556 Tj
+-426 TJm
+(strm) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(strm-) 29.889 Tj
+1 TJm
+(>s) 11.9556 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+90 322.812 Td
+(BZ_OK) 29.889 Tj
+98.488 310.857 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 295.315] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -285.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 273.398 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 273.298] cm
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -263.933] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+98.488 263.933 Td
+/F130_0 9.963 Tf
+(None.) 29.889 Tj
+[1 0 0 1 72 248.391] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -238.429] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 213.639 Td
+/F121_0 20.659 Tf
+(3.4.) 34.4592 Tj
+-278 TJm
+(High-le) 70.0134 Tj
+15 TJm
+(vel) 28.716 Tj
+-278 TJm
+(interface) 86.1067 Tj
+[1 0 0 1 72 209.042] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -199.08] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 191.721 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+-250 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vides) 21.0319 Tj
+-250 TJm
+(funct) 20.474 Tj
+1 TJm
+(ions) 16.6083 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(reading) 29.879 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(writing) 28.7831 Tj
+[1 0 0 1 300.292 191.721] cm
+0 g
+0 G
+[1 0 0 1 -300.292 -191.721] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+300.292 191.721 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 330.18 191.721] cm
+0 g
+0 G
+[1 0 0 1 -330.18 -191.721] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+332.67 191.721 Td
+/F128_0 9.963 Tf
+(format) 26.5614 Tj
+-250 TJm
+(\002les.) 19.0991 Tj
+-620 TJm
+(First,) 20.7629 Tj
+-250 TJm
+(some) 21.0319 Tj
+-250 TJm
+(gen) 14.3866 Tj
+1 TJm
+(eral) 14.9345 Tj
+-250 TJm
+(points.) 26.8503 Tj
+[1 0 0 1 72 189.564] cm
+0 g
+0 G
+[1 0 0 1 0 -29.724] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 159.84 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 159.84] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 159.84 Td
+/F128_0 9.963 Tf
+(All) 12.7327 Tj
+-332 TJm
+(of) 8.29918 Tj
+-331 TJm
+(the) 12.1748 Tj
+-332 TJm
+(functions) 37.0823 Tj
+-331 TJm
+(tak) 12.1748 Tj
+10 TJm
+(e) 4.42357 Tj
+-332 TJm
+(an) 9.40507 Tj
+[1 0 0 1 202.958 159.84] cm
+0 g
+0 G
+[1 0 0 1 -202.958 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+202.958 159.84 Td
+/F130_0 9.963 Tf
+(int*) 23.9112 Tj
+[1 0 0 1 226.868 159.84] cm
+0 g
+0 G
+[1 0 0 1 -226.868 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+230.172 159.84 Td
+/F128_0 9.963 Tf
+(\002rst) 15.5024 Tj
+-332 TJm
+(ar) 7.74125 Tj
+18 TJm
+(gume) 22.1378 Tj
+1 TJm
+(nt,) 10.242 Tj
+[1 0 0 1 292.426 159.84] cm
+0 g
+0 G
+[1 0 0 1 -292.426 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+292.426 159.84 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 334.269 159.84] cm
+0 g
+0 G
+[1 0 0 1 -334.269 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+334.269 159.84 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1110 TJm
+(After) 21.0219 Tj
+-331 TJm
+(each) 18.2522 Tj
+-332 TJm
+(call,) 16.8773 Tj
+[1 0 0 1 414.083 159.84] cm
+0 g
+0 G
+[1 0 0 1 -414.083 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+414.083 159.84 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 455.926 159.84] cm
+0 g
+0 G
+[1 0 0 1 -455.926 -159.84] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+459.23 159.84 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-332 TJm
+(be) 9.40507 Tj
+-331 TJm
+(consulted) 38.1882 Tj
+86.944 147.885 Td
+(\002rst) 15.5024 Tj
+-349 TJm
+(to) 7.75121 Tj
+-348 TJm
+(determine) 39.842 Tj
+-349 TJm
+(the) 12.1748 Tj
+-349 TJm
+(outcome) 34.3126 Tj
+-348 TJm
+(of) 8.29918 Tj
+-349 TJm
+(the) 12.1748 Tj
+-349 TJm
+(call.) 16.8773 Tj
+-1212 TJm
+(If) 6.63536 Tj
+[1 0 0 1 280.386 147.885] cm
+0 g
+0 G
+[1 0 0 1 -280.386 -147.885] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+280.386 147.885 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 322.229 147.885] cm
+0 g
+0 G
+[1 0 0 1 -322.229 -147.885] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+325.704 147.885 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+[1 0 0 1 335.823 147.885] cm
+0 g
+0 G
+[1 0 0 1 -335.823 -147.885] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+335.823 147.885 Td
+/F130_0 9.963 Tf
+(BZ_OK) 29.889 Tj
+[1 0 0 1 365.711 147.885] cm
+0 g
+0 G
+[1 0 0 1 -365.711 -147.885] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+365.711 147.885 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-349 TJm
+(the) 12.1748 Tj
+-349 TJm
+(c) 4.42357 Tj
+1 TJm
+(all) 9.963 Tj
+-349 TJm
+(completed) 41.5059 Tj
+-349 TJm
+(successfully) 48.6991 Tj
+65 TJm
+(,) 2.49075 Tj
+-373 TJm
+(and) 14.3866 Tj
+-349 TJm
+(only) 17.7142 Tj
+86.944 135.93 Td
+(then) 17.1563 Tj
+-271 TJm
+(s) 3.87561 Tj
+1 TJm
+(hould) 22.6957 Tj
+-271 TJm
+(the) 12.1748 Tj
+-271 TJm
+(re) 7.74125 Tj
+1 TJm
+(turn) 16.0504 Tj
+-271 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-271 TJm
+(o) 4.9815 Tj
+1 TJm
+(f) 3.31768 Tj
+-271 TJm
+(the) 12.1748 Tj
+-271 TJm
+(functi) 23.2437 Tj
+1 TJm
+(on) 9.963 Tj
+-271 TJm
+(\(if) 9.40507 Tj
+-271 TJm
+(an) 9.40507 Tj
+15 TJm
+(y\)) 8.29918 Tj
+-270 TJm
+(be) 9.40507 Tj
+-271 TJm
+(consulted.) 40.6789 Tj
+-743 TJm
+(If) 6.63536 Tj
+[1 0 0 1 365.077 135.93] cm
+0 g
+0 G
+[1 0 0 1 -365.077 -135.93] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+365.077 135.93 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 406.92 135.93] cm
+0 g
+0 G
+[1 0 0 1 -406.92 -135.93] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+409.616 135.93 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+[1 0 0 1 418.956 135.93] cm
+0 g
+0 G
+[1 0 0 1 -418.956 -135.93] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+418.956 135.93 Td
+/F130_0 9.963 Tf
+(BZ_IO_ERROR) 65.7558 Tj
+[1 0 0 1 484.71 135.93] cm
+0 g
+0 G
+[1 0 0 1 -484.71 -135.93] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+484.71 135.93 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-271 TJm
+(ther) 15.4925 Tj
+1 TJm
+(e) 4.42357 Tj
+-271 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-271 TJm
+(an) 9.40507 Tj
+86.944 123.975 Td
+(error) 19.3581 Tj
+-246 TJm
+(read) 17.1463 Tj
+1 TJm
+(ing/writing) 44.2855 Tj
+-246 TJm
+(the) 12.1748 Tj
+-246 TJm
+(und) 14.9445 Tj
+1 TJm
+(erlying) 28.2252 Tj
+-246 TJm
+(compressed) 47.0353 Tj
+-245 TJm
+(\002le,) 15.2235 Tj
+-247 TJm
+(and) 14.3866 Tj
+-246 TJm
+(you) 14.9445 Tj
+-245 TJm
+(should) 26.5713 Tj
+-246 TJm
+(then) 17.1563 Tj
+-245 TJm
+(consult) 28.7831 Tj
+[1 0 0 1 414.096 123.975] cm
+0 g
+0 G
+[1 0 0 1 -414.096 -123.975] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+414.096 123.975 Td
+/F130_0 9.963 Tf
+(errno) 29.889 Tj
+[1 0 0 1 443.984 123.975] cm
+0 g
+0 G
+[1 0 0 1 -443.984 -123.975] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+446.432 123.975 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 451.649 123.975] cm
+0 g
+0 G
+[1 0 0 1 -451.649 -123.975] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+451.649 123.975 Td
+/F130_0 9.963 Tf
+(perror) 35.8668 Tj
+[1 0 0 1 487.514 123.975] cm
+0 g
+0 G
+[1 0 0 1 -487.514 -123.975] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+489.962 123.975 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-246 TJm
+(deter) 19.916 Tj
+1 TJm
+(mine) 19.926 Tj
+86.944 112.02 Td
+(the) 12.1748 Tj
+-356 TJm
+(cause) 22.1278 Tj
+-355 TJm
+(of) 8.29918 Tj
+-356 TJm
+(the) 12.1748 Tj
+-356 TJm
+(dif) 11.0689 Tj
+25 TJm
+(\002culty) 25.4654 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 206.528 112.02] cm
+0 g
+0 G
+[1 0 0 1 -206.528 -112.02] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+206.528 112.02 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 248.371 112.02] cm
+0 g
+0 G
+[1 0 0 1 -248.371 -112.02] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+251.916 112.02 Td
+/F128_0 9.963 Tf
+(may) 17.1563 Tj
+-356 TJm
+(also) 16.0504 Tj
+-355 TJm
+(be) 9.40507 Tj
+-356 TJm
+(set) 11.0689 Tj
+-356 TJm
+(to) 7.75121 Tj
+-356 TJm
+(v) 4.9815 Tj
+25 TJm
+(arious) 24.3496 Tj
+-355 TJm
+(other) 20.474 Tj
+-356 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues;) 23.2437 Tj
+-409 TJm
+(precise) 28.2152 Tj
+-356 TJm
+(d) 4.9815 Tj
+1 TJm
+(etails) 21.0319 Tj
+-356 TJm
+(are) 12.1648 Tj
+-356 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-356 TJm
+(on) 9.963 Tj
+-355 TJm
+(a) 4.42357 Tj
+86.944 100.064 Td
+(per) 12.7228 Tj
+20 TJm
+(-function) 36.5244 Tj
+-250 TJm
+(basis) 19.926 Tj
+-250 TJm
+(belo) 17.1563 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 186.838 100.064] cm
+0 g
+0 G
+[1 0 0 1 -114.838 -49.212] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(18) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 22 22
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -31.517] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 710.037 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 710.037] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 710.037 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+[1 0 0 1 95.958 710.037] cm
+0 g
+0 G
+[1 0 0 1 -95.958 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.958 710.037 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 137.801 710.037] cm
+0 g
+0 G
+[1 0 0 1 -137.801 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+140.179 710.037 Td
+/F128_0 9.963 Tf
+(indicates) 35.4185 Tj
+-239 TJm
+(an) 9.40507 Tj
+-238 TJm
+(error) 19.3581 Tj
+-239 TJm
+(\(ie,) 13.0017 Tj
+-241 TJm
+(an) 9.40507 Tj
+15 TJm
+(ything) 25.4654 Tj
+-239 TJm
+(e) 4.42357 Tj
+15 TJm
+(x) 4.9815 Tj
+1 TJm
+(cept) 16.5984 Tj
+[1 0 0 1 292.225 710.037] cm
+0 g
+0 G
+[1 0 0 1 -292.225 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+292.225 710.037 Td
+/F130_0 9.963 Tf
+(BZ_OK) 29.889 Tj
+[1 0 0 1 322.113 710.037] cm
+0 g
+0 G
+[1 0 0 1 -322.113 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+324.492 710.037 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 341.257 710.037] cm
+0 g
+0 G
+[1 0 0 1 -341.257 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+341.257 710.037 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 418.965 710.037] cm
+0 g
+0 G
+[1 0 0 1 -418.965 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+418.965 710.037 Td
+/F128_0 9.963 Tf
+(\),) 5.80843 Tj
+-239 TJm
+(you) 14.9445 Tj
+-238 TJm
+(should) 26.5713 Tj
+-239 TJm
+(immediately) 49.815 Tj
+-239 TJm
+(cal) 11.6169 Tj
+1 TJm
+(l) 2.76971 Tj
+[1 0 0 1 86.944 698.082] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 698.082 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 176.608 698.082] cm
+0 g
+0 G
+[1 0 0 1 -176.608 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+179.343 698.082 Td
+/F128_0 9.963 Tf
+(\(or) 11.6169 Tj
+[1 0 0 1 193.695 698.082] cm
+0 g
+0 G
+[1 0 0 1 -193.695 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+193.695 698.082 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteClose) 95.6448 Tj
+[1 0 0 1 289.337 698.082] cm
+0 g
+0 G
+[1 0 0 1 -289.337 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+289.337 698.082 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-281 TJm
+(depending) 41.5059 Tj
+-274 TJm
+(on) 9.963 Tj
+-275 TJm
+(whethe) 28.7731 Tj
+1 TJm
+(r) 3.31768 Tj
+-275 TJm
+(you) 14.9445 Tj
+-275 TJm
+(are) 12.1648 Tj
+-274 TJm
+(attempting) 42.6217 Tj
+-274 TJm
+(to) 7.75121 Tj
+-275 TJm
+(read) 17.1463 Tj
+-274 TJm
+(or) 8.29918 Tj
+-275 TJm
+(to) 7.75121 Tj
+-275 TJm
+(writ) 16.0504 Tj
+1 TJm
+(e\)) 7.74125 Tj
+86.944 686.127 Td
+(to) 7.75121 Tj
+-242 TJm
+(free) 15.4825 Tj
+-241 TJm
+(up) 9.963 Tj
+-242 TJm
+(all) 9.963 Tj
+-242 TJm
+(resources) 37.6203 Tj
+-241 TJm
+(associated) 40.9479 Tj
+-242 TJm
+(with) 17.7142 Tj
+-242 TJm
+(the) 12.1748 Tj
+-241 TJm
+(stream.) 29.0521 Tj
+-615 TJm
+(Once) 21.0219 Tj
+-241 TJm
+(an) 9.40507 Tj
+-242 TJm
+(error) 19.3581 Tj
+-242 TJm
+(has) 13.2807 Tj
+-241 TJm
+(been) 18.8101 Tj
+-242 TJm
+(indicated,) 39.0151 Tj
+-243 TJm
+(beha) 18.8101 Tj
+20 TJm
+(viour) 21.0319 Tj
+-242 TJm
+(of) 8.29918 Tj
+-242 TJm
+(all) 9.963 Tj
+-241 TJm
+(calls) 18.2622 Tj
+-242 TJm
+(e) 4.42357 Tj
+15 TJm
+(xcept) 21.5799 Tj
+[1 0 0 1 86.944 674.172] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 674.172 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 176.608 674.172] cm
+0 g
+0 G
+[1 0 0 1 -176.608 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+179.705 674.172 Td
+/F128_0 9.963 Tf
+(\() 3.31768 Tj
+[1 0 0 1 183.022 674.172] cm
+0 g
+0 G
+[1 0 0 1 -183.022 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+183.022 674.172 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteClose) 95.6448 Tj
+[1 0 0 1 278.664 674.172] cm
+0 g
+0 G
+[1 0 0 1 -278.664 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+278.664 674.172 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-311 TJm
+(is) 6.64532 Tj
+-311 TJm
+(unde\002) 24.9075 Tj
+1 TJm
+(ned.) 16.8773 Tj
+-986 TJm
+(Th) 11.0689 Tj
+1 TJm
+(e) 4.42357 Tj
+-311 TJm
+(implication) 45.3914 Tj
+-311 TJm
+(is) 6.64532 Tj
+-311 TJm
+(that) 14.9445 Tj
+-311 TJm
+(\(1) 8.29918 Tj
+1 TJm
+(\)) 3.31768 Tj
+[1 0 0 1 455.988 674.172] cm
+0 g
+0 G
+[1 0 0 1 -455.988 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+455.988 674.172 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 497.831 674.172] cm
+0 g
+0 G
+[1 0 0 1 -497.831 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+500.928 674.172 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-311 TJm
+(be) 9.40507 Tj
+86.944 662.217 Td
+(check) 23.2337 Tj
+10 TJm
+(ed) 9.40507 Tj
+-291 TJm
+(after) 18.2522 Tj
+-291 TJm
+(each) 18.2522 Tj
+-291 TJm
+(call,) 16.8773 Tj
+-301 TJm
+(and) 14.3866 Tj
+-291 TJm
+(\(2\)) 11.6169 Tj
+-291 TJm
+(if) 6.08739 Tj
+[1 0 0 1 225.347 662.217] cm
+0 g
+0 G
+[1 0 0 1 -225.347 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+225.347 662.217 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 267.19 662.217] cm
+0 g
+0 G
+[1 0 0 1 -267.19 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+270.09 662.217 Td
+/F128_0 9.963 Tf
+(indicates) 35.4185 Tj
+-291 TJm
+(an) 9.40507 Tj
+-291 TJm
+(error) 19.3581 Tj
+40 TJm
+(,) 2.49075 Tj
+[1 0 0 1 345.161 662.217] cm
+0 g
+0 G
+[1 0 0 1 -345.161 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+345.161 662.217 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 434.824 662.217] cm
+0 g
+0 G
+[1 0 0 1 -434.824 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+437.724 662.217 Td
+/F128_0 9.963 Tf
+(\() 3.31768 Tj
+[1 0 0 1 441.041 662.217] cm
+0 g
+0 G
+[1 0 0 1 -441.041 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+441.041 662.217 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteClose) 95.6448 Tj
+[1 0 0 1 536.682 662.217] cm
+0 g
+0 G
+[1 0 0 1 -536.682 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+536.682 662.217 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+86.944 650.262 Td
+(should) 26.5713 Tj
+-250 TJm
+(then) 17.1563 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(called) 23.7916 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(clea) 16.0404 Tj
+1 TJm
+(n) 4.9815 Tj
+-250 TJm
+(up.) 12.4538 Tj
+[1 0 0 1 220.034 650.262] cm
+0 g
+0 G
+[1 0 0 1 -148.034 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 628.344 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 628.344] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 628.344 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+[1 0 0 1 106.362 628.344] cm
+0 g
+0 G
+[1 0 0 1 -106.362 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+106.362 628.344 Td
+/F130_0 9.963 Tf
+(FILE*) 29.889 Tj
+[1 0 0 1 136.25 628.344] cm
+0 g
+0 G
+[1 0 0 1 -136.25 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+140.177 628.344 Td
+/F128_0 9.963 Tf
+(ar) 7.74125 Tj
+18 TJm
+(guments) 33.7646 Tj
+-394 TJm
+(passed) 26.5614 Tj
+-394 TJm
+(to) 7.75121 Tj
+[1 0 0 1 227.592 628.344] cm
+0 g
+0 G
+[1 0 0 1 -227.592 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+227.592 628.344 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadOpen) 83.6892 Tj
+[1 0 0 1 311.278 628.344] cm
+0 g
+0 G
+[1 0 0 1 -311.278 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+315.205 628.344 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 321.901 628.344] cm
+0 g
+0 G
+[1 0 0 1 -321.901 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+321.901 628.344 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteOpen) 89.667 Tj
+[1 0 0 1 411.565 628.344] cm
+0 g
+0 G
+[1 0 0 1 -411.565 -628.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+415.491 628.344 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-394 TJm
+(be) 9.40507 Tj
+-394 TJm
+(set) 11.0689 Tj
+-394 TJm
+(to) 7.75121 Tj
+-394 TJm
+(binary) 25.4555 Tj
+-394 TJm
+(mode.) 24.6285 Tj
+86.944 616.389 Td
+(Most) 20.4839 Tj
+-229 TJm
+(Unix) 19.926 Tj
+-229 TJm
+(s) 3.87561 Tj
+1 TJm
+(ystems) 27.6772 Tj
+-229 TJm
+(will) 15.5024 Tj
+-229 TJm
+(do) 9.963 Tj
+-229 TJm
+(this) 14.3965 Tj
+-229 TJm
+(by) 9.963 Tj
+-228 TJm
+(def) 12.7228 Tj
+10 TJm
+(ault,) 17.4353 Tj
+-233 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-229 TJm
+(other) 20.474 Tj
+-229 TJm
+(platforms,) 40.6789 Tj
+-233 TJm
+(including) 37.6402 Tj
+-228 TJm
+(W) 9.40507 Tj
+40 TJm
+(indo) 17.7142 Tj
+25 TJm
+(ws) 11.0689 Tj
+-229 TJm
+(and) 14.3866 Tj
+-229 TJm
+(Mac,) 20.195 Tj
+-233 TJm
+(will) 15.5024 Tj
+-229 TJm
+(not.) 15.2235 Tj
+-605 TJm
+(If) 6.63536 Tj
+-229 TJm
+(you) 14.9445 Tj
+-229 TJm
+(omit) 18.2721 Tj
+86.944 604.433 Td
+(this,) 16.8873 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(may) 17.1563 Tj
+-250 TJm
+(encounter) 39.2841 Tj
+-250 TJm
+(probl) 21.0319 Tj
+1 TJm
+(ems) 16.0504 Tj
+-250 TJm
+(when) 21.5799 Tj
+-250 TJm
+(mo) 12.7327 Tj
+15 TJm
+(ving) 17.7142 Tj
+-250 TJm
+(code) 18.8101 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(ne) 9.40507 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(platforms.) 40.6789 Tj
+[1 0 0 1 372.66 604.433] cm
+0 g
+0 G
+[1 0 0 1 -300.66 -21.917] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -582.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 582.516 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 582.516] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -582.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 582.516 Td
+/F128_0 9.963 Tf
+(Memory) 34.3126 Tj
+-348 TJm
+(allocation) 39.2941 Tj
+-348 TJm
+(requests) 32.6488 Tj
+-348 TJm
+(are) 12.1648 Tj
+-348 TJm
+(handled) 31.5429 Tj
+-348 TJm
+(by) 9.963 Tj
+[1 0 0 1 267.67 582.516] cm
+0 g
+0 G
+[1 0 0 1 -267.67 -582.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+267.67 582.516 Td
+/F130_0 9.963 Tf
+(malloc) 35.8668 Tj
+[1 0 0 1 303.535 582.516] cm
+0 g
+0 G
+[1 0 0 1 -303.535 -582.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+307.003 582.516 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 313.241 582.516] cm
+0 g
+0 G
+[1 0 0 1 -313.241 -582.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+313.241 582.516 Td
+/F130_0 9.963 Tf
+(free) 23.9112 Tj
+[1 0 0 1 337.151 582.516] cm
+0 g
+0 G
+[1 0 0 1 -337.151 -582.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+337.151 582.516 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1208 TJm
+(At) 9.963 Tj
+-349 TJm
+(pr) 8.29918 Tj
+1 TJm
+(esent) 20.474 Tj
+-348 TJm
+(there) 19.916 Tj
+-348 TJm
+(is) 6.64532 Tj
+-348 TJm
+(no) 9.963 Tj
+-349 TJm
+(f) 3.31768 Tj
+10 TJm
+(a) 4.42357 Tj
+1 TJm
+(cility) 20.4839 Tj
+-348 TJm
+(for) 11.6169 Tj
+-348 TJm
+(user) 16.5984 Tj
+20 TJm
+(-de\002ned) 32.6488 Tj
+86.944 570.56 Td
+(memory) 33.2067 Tj
+-250 TJm
+(allocators) 38.7361 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\002l) 8.30914 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(I/O) 13.2807 Tj
+-250 TJm
+(functions) 37.0823 Tj
+-250 TJm
+(\(could) 25.4555 Tj
+-250 TJm
+(easily) 23.2437 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(added,) 26.2824 Tj
+-250 TJm
+(though\).) 33.4856 Tj
+[1 0 0 1 387.165 570.56] cm
+0 g
+0 G
+[1 0 0 1 -315.165 -12.119] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -548.478] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 529.977 Td
+/F121_0 17.215 Tf
+(3.4.1.) 43.0719 Tj
+[1 0 0 1 119.858 529.977] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -529.977] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 529.977 Td
+/F387_0 17.215 Tf
+(BZ2_bzReadOpen) 144.606 Tj
+[1 0 0 1 264.468 529.977] cm
+0 g
+0 G
+[1 0 0 1 -192.468 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -72.727] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 71.731 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 68.145] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -518.279] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 518.279 Td
+/F130_0 9.963 Tf
+(typedef) 41.8446 Tj
+-426 TJm
+(void) 23.9112 Tj
+-426 TJm
+(BZFILE;) 41.8446 Tj
+90 494.369 Td
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*BZ2_bzReadOpen\() 95.6448 Tj
+-426 TJm
+(i) 5.9778 Tj
+1 TJm
+(nt) 11.9556 Tj
+-426 TJm
+(*bzerror,) 53.8002 Tj
+-426 TJm
+(FILE) 23.9112 Tj
+-426 TJm
+(*f,) 17.9334 Tj
+191.855 482.414 Td
+(int) 17.9334 Tj
+-426 TJm
+(verbosity,) 59.778 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(small,) 35.8668 Tj
+191.855 470.458 Td
+(void) 23.9112 Tj
+-426 TJm
+(*unused,) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(nUnused) 41.8446 Tj
+-425 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 454.917] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -444.954] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 432.999 Td
+/F128_0 9.963 Tf
+(Prepare) 30.427 Tj
+-290 TJm
+(t) 2.76971 Tj
+1 TJm
+(o) 4.9815 Tj
+-290 TJm
+(read) 17.1463 Tj
+-290 TJm
+(compresse) 42.0538 Tj
+1 TJm
+(d) 4.9815 Tj
+-290 TJm
+(data) 16.5984 Tj
+-290 TJm
+(from) 19.3681 Tj
+-289 TJm
+(\002le) 12.7327 Tj
+-290 TJm
+(handle) 26.5614 Tj
+[1 0 0 1 272.697 432.999] cm
+0 g
+0 G
+[1 0 0 1 -272.697 -432.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+272.697 432.999 Td
+/F130_0 9.963 Tf
+(f) 5.9778 Tj
+[1 0 0 1 278.675 432.999] cm
+0 g
+0 G
+[1 0 0 1 -278.675 -432.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+278.675 432.999 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 285.439 432.999] cm
+0 g
+0 G
+[1 0 0 1 -285.439 -432.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+285.439 432.999 Td
+/F130_0 9.963 Tf
+(f) 5.9778 Tj
+[1 0 0 1 291.417 432.999] cm
+0 g
+0 G
+[1 0 0 1 -291.417 -432.999] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+294.302 432.999 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-290 TJm
+(refer) 18.8002 Tj
+-289 TJm
+(to) 7.75121 Tj
+-290 TJm
+(a) 4.42357 Tj
+-289 TJm
+(\002le) 12.7327 Tj
+-290 TJm
+(which) 24.3496 Tj
+-289 TJm
+(has) 13.2807 Tj
+-290 TJm
+(been) 18.8101 Tj
+-290 TJm
+(opened) 28.7731 Tj
+-289 TJm
+(for) 11.6169 Tj
+-290 TJm
+(reading,) 32.3698 Tj
+-299 TJm
+(and) 14.3866 Tj
+72 421.044 Td
+(for) 11.6169 Tj
+-306 TJm
+(which) 24.3496 Tj
+-305 TJm
+(the) 12.1748 Tj
+-306 TJm
+(error) 19.3581 Tj
+-305 TJm
+(indicator) 35.4185 Tj
+-306 TJm
+(\() 3.31768 Tj
+[1 0 0 1 193.457 421.044] cm
+0 g
+0 G
+[1 0 0 1 -193.457 -421.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+193.457 421.044 Td
+/F130_0 9.963 Tf
+(ferror\(f\)) 53.8002 Tj
+[1 0 0 1 247.255 421.044] cm
+0 g
+0 G
+[1 0 0 1 -247.255 -421.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+247.255 421.044 Td
+/F128_0 9.963 Tf
+(\)is) 9.963 Tj
+-306 TJm
+(not) 12.7327 Tj
+-305 TJm
+(set.) 13.5596 Tj
+-954 TJm
+(If) 6.63536 Tj
+[1 0 0 1 308.784 421.044] cm
+0 g
+0 G
+[1 0 0 1 -308.784 -421.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+308.784 421.044 Td
+/F130_0 9.963 Tf
+(small) 29.889 Tj
+[1 0 0 1 338.672 421.044] cm
+0 g
+0 G
+[1 0 0 1 -338.672 -421.044] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+341.717 421.044 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-306 TJm
+(1,) 7.47225 Tj
+-319 TJm
+(the) 12.1748 Tj
+-306 TJm
+(library) 26.5614 Tj
+-305 TJm
+(will) 15.5024 Tj
+-306 TJm
+(try) 11.0689 Tj
+-305 TJm
+(to) 7.75121 Tj
+-306 TJm
+(decompress) 47.0353 Tj
+-306 TJm
+(us) 8.85711 Tj
+1 TJm
+(ing) 12.7327 Tj
+-306 TJm
+(less) 14.9445 Tj
+72 409.089 Td
+(memory) 33.2067 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(at) 7.19329 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(e) 4.42357 Tj
+15 TJm
+(xpense) 27.6673 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(spee) 17.7043 Tj
+1 TJm
+(d.) 7.47225 Tj
+[1 0 0 1 72 406.932] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -396.969] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 387.171 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-227 TJm
+(reasons) 29.879 Tj
+-227 TJm
+(e) 4.42357 Tj
+15 TJm
+(xplained) 34.3126 Tj
+-227 TJm
+(belo) 17.1563 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 189.193 387.171] cm
+0 g
+0 G
+[1 0 0 1 -189.193 -387.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+189.193 387.171 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 248.969 387.171] cm
+0 g
+0 G
+[1 0 0 1 -248.969 -387.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+251.232 387.171 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-227 TJm
+(decompress) 47.0353 Tj
+-227 TJm
+(the) 12.1748 Tj
+[1 0 0 1 332.732 387.171] cm
+0 g
+0 G
+[1 0 0 1 -332.732 -387.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+332.732 387.171 Td
+/F130_0 9.963 Tf
+(nUnused) 41.8446 Tj
+[1 0 0 1 374.575 387.171] cm
+0 g
+0 G
+[1 0 0 1 -374.575 -387.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+376.838 387.171 Td
+/F128_0 9.963 Tf
+(bytes) 21.0319 Tj
+-227 TJm
+(starting) 29.889 Tj
+-227 TJm
+(at) 7.19329 Tj
+[1 0 0 1 441.74 387.171] cm
+0 g
+0 G
+[1 0 0 1 -441.74 -387.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+441.74 387.171 Td
+/F130_0 9.963 Tf
+(unused) 35.8668 Tj
+[1 0 0 1 477.605 387.171] cm
+0 g
+0 G
+[1 0 0 1 -477.605 -387.171] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+477.605 387.171 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-232 TJm
+(before) 25.4455 Tj
+-227 TJm
+(starting) 29.889 Tj
+72 375.216 Td
+(to) 7.75121 Tj
+-279 TJm
+(read) 17.1463 Tj
+-280 TJm
+(from) 19.3681 Tj
+-279 TJm
+(the) 12.1748 Tj
+-280 TJm
+(\002le) 12.7327 Tj
+[1 0 0 1 155.094 375.216] cm
+0 g
+0 G
+[1 0 0 1 -155.094 -375.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+155.094 375.216 Td
+/F130_0 9.963 Tf
+(f) 5.9778 Tj
+[1 0 0 1 161.072 375.216] cm
+0 g
+0 G
+[1 0 0 1 -161.072 -375.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.072 375.216 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-797 TJm
+(At) 9.963 Tj
+-280 TJm
+(most) 19.378 Tj
+[1 0 0 1 206.414 375.216] cm
+0 g
+0 G
+[1 0 0 1 -206.414 -375.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+206.414 375.216 Td
+/F130_0 9.963 Tf
+(BZ_MAX_UNUSED) 77.7114 Tj
+[1 0 0 1 284.122 375.216] cm
+0 g
+0 G
+[1 0 0 1 -284.122 -375.216] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+286.907 375.216 Td
+/F128_0 9.963 Tf
+(bytes) 21.0319 Tj
+-279 TJm
+(may) 17.1563 Tj
+-280 TJm
+(be) 9.40507 Tj
+-279 TJm
+(supplied) 33.7646 Tj
+-280 TJm
+(lik) 10.5209 Tj
+10 TJm
+(e) 4.42357 Tj
+-279 TJm
+(this.) 16.8873 Tj
+-797 TJm
+(If) 6.63536 Tj
+-280 TJm
+(this) 14.3965 Tj
+-279 TJm
+(f) 3.31768 Tj
+10 TJm
+(acility) 24.9075 Tj
+-280 TJm
+(is) 6.64532 Tj
+-279 TJm
+(not) 12.7327 Tj
+-280 TJm
+(re) 7.74125 Tj
+1 TJm
+(quired,) 27.9462 Tj
+72 363.26 Td
+(you) 14.9445 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(pass) 17.1563 Tj
+[1 0 0 1 138.141 363.26] cm
+0 g
+0 G
+[1 0 0 1 -138.141 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+138.141 363.26 Td
+/F130_0 9.963 Tf
+(NULL) 23.9112 Tj
+[1 0 0 1 162.052 363.26] cm
+0 g
+0 G
+[1 0 0 1 -162.052 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+164.542 363.26 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 181.419 363.26] cm
+0 g
+0 G
+[1 0 0 1 -181.419 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+181.419 363.26 Td
+/F130_0 9.963 Tf
+(0) 5.9778 Tj
+[1 0 0 1 187.397 363.26] cm
+0 g
+0 G
+[1 0 0 1 -187.397 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+189.887 363.26 Td
+/F128_0 9.963 Tf
+(for) 11.6169 Tj
+[1 0 0 1 203.994 363.26] cm
+0 g
+0 G
+[1 0 0 1 -203.994 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+203.994 363.26 Td
+/F130_0 9.963 Tf
+(unused) 35.8668 Tj
+[1 0 0 1 239.86 363.26] cm
+0 g
+0 G
+[1 0 0 1 -239.86 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+242.351 363.26 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+-250 TJm
+(n) 4.9815 Tj
+[1 0 0 1 264.209 363.26] cm
+0 g
+0 G
+[1 0 0 1 -264.209 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+264.209 363.26 Td
+/F130_0 9.963 Tf
+(Unused) 35.8668 Tj
+[1 0 0 1 300.074 363.26] cm
+0 g
+0 G
+[1 0 0 1 -300.074 -363.26] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+302.565 363.26 Td
+/F128_0 9.963 Tf
+(respecti) 30.9849 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ely) 12.1748 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 361.104] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -351.141] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 341.343 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(meaning) 34.3126 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(parameter) 39.8321 Tj
+1 TJm
+(s) 3.87561 Tj
+[1 0 0 1 196.631 341.343] cm
+0 g
+0 G
+[1 0 0 1 -196.631 -341.343] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+196.631 341.343 Td
+/F130_0 9.963 Tf
+(small) 29.889 Tj
+[1 0 0 1 226.519 341.343] cm
+0 g
+0 G
+[1 0 0 1 -226.519 -341.343] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+229.01 341.343 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 245.887 341.343] cm
+0 g
+0 G
+[1 0 0 1 -245.887 -341.343] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+245.887 341.343 Td
+/F130_0 9.963 Tf
+(verbosity) 53.8002 Tj
+[1 0 0 1 299.685 341.343] cm
+0 g
+0 G
+[1 0 0 1 -299.685 -341.343] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+299.685 341.343 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(see) 12.7228 Tj
+[1 0 0 1 319.879 341.343] cm
+0 g
+0 G
+[1 0 0 1 -319.879 -341.343] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+319.879 341.343 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressInit) 119.556 Tj
+[1 0 0 1 439.431 341.343] cm
+0 g
+0 G
+[1 0 0 1 -439.431 -341.343] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+439.431 341.343 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 339.186] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -329.223] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 319.425 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-402 TJm
+(amount) 29.889 Tj
+-402 TJm
+(of) 8.29918 Tj
+-402 TJm
+(mem) 19.926 Tj
+1 TJm
+(ory) 13.2807 Tj
+-402 TJm
+(needed) 28.2152 Tj
+-402 TJm
+(to) 7.75121 Tj
+-402 TJm
+(decompress) 47.0353 Tj
+-402 TJm
+(a) 4.42357 Tj
+-402 TJm
+(\002le) 12.7327 Tj
+-402 TJm
+(c) 4.42357 Tj
+1 TJm
+(annot) 22.1378 Tj
+-402 TJm
+(be) 9.40507 Tj
+-402 TJm
+(determined) 44.8235 Tj
+-402 TJm
+(until) 18.2721 Tj
+-402 TJm
+(the) 12.1748 Tj
+-402 TJm
+(\002le') 16.0504 Tj
+55 TJm
+(s) 3.87561 Tj
+-401 TJm
+(header) 26.5514 Tj
+-402 TJm
+(has) 13.2807 Tj
+-402 TJm
+(been) 18.8101 Tj
+-402 TJm
+(read.) 19.6371 Tj
+72 307.47 Td
+(So) 10.5209 Tj
+-492 TJm
+(it) 5.53943 Tj
+-491 TJm
+(is) 6.64532 Tj
+-492 TJm
+(possible) 32.6587 Tj
+-491 TJm
+(that) 14.9445 Tj
+[1 0 0 1 166.797 307.47] cm
+0 g
+0 G
+[1 0 0 1 -166.797 -307.47] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+166.797 307.47 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadOpen) 83.6892 Tj
+[1 0 0 1 250.483 307.47] cm
+0 g
+0 G
+[1 0 0 1 -250.483 -307.47] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+255.381 307.47 Td
+/F128_0 9.963 Tf
+(returns) 27.6673 Tj
+[1 0 0 1 287.945 307.47] cm
+0 g
+0 G
+[1 0 0 1 -287.945 -307.47] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+287.945 307.47 Td
+/F130_0 9.963 Tf
+(BZ_OK) 29.889 Tj
+[1 0 0 1 317.833 307.47] cm
+0 g
+0 G
+[1 0 0 1 -317.833 -307.47] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+322.729 307.47 Td
+/F128_0 9.963 Tf
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-492 TJm
+(a) 4.42357 Tj
+-491 TJm
+(subsequent) 44.2756 Tj
+-492 TJm
+(call) 14.3866 Tj
+-491 TJm
+(of) 8.29918 Tj
+[1 0 0 1 431.135 307.47] cm
+0 g
+0 G
+[1 0 0 1 -431.135 -307.47] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+431.135 307.47 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 490.911 307.47] cm
+0 g
+0 G
+[1 0 0 1 -490.911 -307.47] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+495.81 307.47 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-492 TJm
+(re) 7.74125 Tj
+1 TJm
+(turn) 16.0504 Tj
+[1 0 0 1 72 295.514] cm
+0 g
+0 G
+[1 0 0 1 -72 -295.514] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 295.514 Td
+/F130_0 9.963 Tf
+(BZ_MEM_ERROR) 71.7336 Tj
+[1 0 0 1 143.731 295.514] cm
+0 g
+0 G
+[1 0 0 1 -143.731 -295.514] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+143.731 295.514 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 294.349] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -284.386] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 273.597 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(assignments) 48.7091 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 169.144 273.597] cm
+0 g
+0 G
+[1 0 0 1 -169.144 -273.597] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.144 273.597 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 210.987 273.597] cm
+0 g
+0 G
+[1 0 0 1 -210.987 -273.597] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.987 273.597 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 271.44] cm
+0 g
+0 G
+[1 0 0 1 0 -168.369] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 167.372 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 163.786] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -262.075] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 262.075 Td
+/F130_0 9.963 Tf
+(BZ_CONFIG_ERROR) 89.667 Tj
+98.488 250.12 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(library) 41.8446 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-425 TJm
+(mis-compiled) 71.7336 Tj
+90 238.165 Td
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 226.209 Td
+(if) 11.9556 Tj
+-426 TJm
+(f) 5.9778 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+98.488 214.254 Td
+(or) 11.9556 Tj
+-426 TJm
+(small) 29.889 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(neither) 41.8446 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(no) 11.9556 Tj
+1 TJm
+(r) 5.9778 Tj
+-426 TJm
+(1) 5.9778 Tj
+98.488 202.299 Td
+(or) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(unused) 35.8668 Tj
+-426 TJm
+(==) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(&&) 11.9556 Tj
+-426 TJm
+(n) 5.9778 Tj
+1 TJm
+(Unused) 35.8668 Tj
+-426 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(\)) 5.9778 Tj
+98.488 190.344 Td
+(or) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(unused) 35.8668 Tj
+-426 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(&&) 11.9556 Tj
+-426 TJm
+(!) 5.9778 Tj
+1 TJm
+(\(0) 11.9556 Tj
+-426 TJm
+(<=) 11.9556 Tj
+-426 TJm
+(nUnused) 41.8446 Tj
+-426 TJm
+(<=) 11.9556 Tj
+-426 TJm
+(BZ_MAX_UNUSED\)) 83.6892 Tj
+-426 TJm
+(\)) 5.9778 Tj
+90 178.389 Td
+(BZ_IO_ERROR) 65.7558 Tj
+98.488 166.434 Td
+(if) 11.9556 Tj
+-426 TJm
+(ferror\(f\)) 53.8002 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(nonzero) 41.8446 Tj
+90 154.478 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 142.523 Td
+(if) 11.9556 Tj
+-426 TJm
+(insufficient) 71.7336 Tj
+-426 TJm
+(memory) 35.8668 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(available) 53.8002 Tj
+90 130.568 Td
+(BZ_OK) 29.889 Tj
+98.488 118.613 Td
+(otherwise.) 59.778 Tj
+[1 0 0 1 72 103.071] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -93.109] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 81.153 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 81.054] cm
+0 g
+0 G
+[1 0 0 1 0 -30.202] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.974] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -51.071] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 51.071 Td
+/F128_0 9.963 Tf
+(19) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 23 23
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -81.33] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 56.189] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(Pointer) 41.8446 Tj
+-426 TJm
+(to) 11.9556 Tj
+-426 TJm
+(an) 11.9556 Tj
+-426 TJm
+(abstract) 47.8224 Tj
+-426 TJm
+(B) 5.9778 Tj
+1 TJm
+(ZFILE) 29.889 Tj
+98.488 699.676 Td
+(if) 11.9556 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+90 687.721 Td
+(NULL) 23.9112 Tj
+98.488 675.766 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 660.224] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -650.261] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 638.306 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 638.207] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 56.19] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -628.842] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 628.842 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+98.488 616.887 Td
+(if) 11.9556 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+90 604.932 Td
+(BZ2_bzClose) 65.7558 Tj
+98.488 592.976 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 577.435] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -567.472] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 546.814 Td
+/F121_0 17.215 Tf
+(3.4.2.) 43.0719 Tj
+[1 0 0 1 119.858 546.814] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -546.814] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 546.814 Td
+/F387_0 17.215 Tf
+(BZ2_bzRead) 103.29 Tj
+[1 0 0 1 223.151 546.814] cm
+0 g
+0 G
+[1 0 0 1 -151.151 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -535.116] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 535.116 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzRead) 59.778 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(*bz) 17.9334 Tj
+1 TJm
+(error,) 35.8668 Tj
+-426 TJm
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*b,) 17.9334 Tj
+-426 TJm
+(void) 23.9112 Tj
+-426 TJm
+(*buf,) 29.889 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(len) 17.9334 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 519.574] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -509.612] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 497.656 Td
+/F128_0 9.963 Tf
+(Reads) 24.3496 Tj
+-284 TJm
+(up) 9.963 Tj
+-285 TJm
+(to) 7.75121 Tj
+[1 0 0 1 122.569 497.656] cm
+0 g
+0 G
+[1 0 0 1 -122.569 -497.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+122.569 497.656 Td
+/F130_0 9.963 Tf
+(len) 17.9334 Tj
+[1 0 0 1 140.501 497.656] cm
+0 g
+0 G
+[1 0 0 1 -140.501 -497.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+143.337 497.656 Td
+/F128_0 9.963 Tf
+(\(uncompressed\)) 63.6337 Tj
+-284 TJm
+(bytes) 21.0319 Tj
+-285 TJm
+(from) 19.3681 Tj
+-284 TJm
+(the) 12.1748 Tj
+-285 TJm
+(compressed) 47.0353 Tj
+-284 TJm
+(\002le) 12.7327 Tj
+[1 0 0 1 336.319 497.656] cm
+0 g
+0 G
+[1 0 0 1 -336.319 -497.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+336.319 497.656 Td
+/F130_0 9.963 Tf
+(b) 5.9778 Tj
+[1 0 0 1 342.296 497.656] cm
+0 g
+0 G
+[1 0 0 1 -342.296 -497.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+345.132 497.656 Td
+/F128_0 9.963 Tf
+(into) 15.5024 Tj
+-285 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-285 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+[1 0 0 1 405.205 497.656] cm
+0 g
+0 G
+[1 0 0 1 -405.205 -497.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+405.205 497.656 Td
+/F130_0 9.963 Tf
+(buf) 17.9334 Tj
+[1 0 0 1 423.137 497.656] cm
+0 g
+0 G
+[1 0 0 1 -423.137 -497.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+423.137 497.656 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-828 TJm
+(If) 6.63536 Tj
+-284 TJm
+(the) 12.1748 Tj
+-285 TJm
+(read) 17.1463 Tj
+-284 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-285 TJm
+(successful,) 43.4387 Tj
+[1 0 0 1 72 485.701] cm
+0 g
+0 G
+[1 0 0 1 -72 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 485.701 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 113.843 485.701] cm
+0 g
+0 G
+[1 0 0 1 -113.843 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+117.36 485.701 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-353 TJm
+(set) 11.0689 Tj
+-353 TJm
+(to) 7.75121 Tj
+[1 0 0 1 153.374 485.701] cm
+0 g
+0 G
+[1 0 0 1 -153.374 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+153.374 485.701 Td
+/F130_0 9.963 Tf
+(BZ_OK) 29.889 Tj
+[1 0 0 1 183.262 485.701] cm
+0 g
+0 G
+[1 0 0 1 -183.262 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+186.778 485.701 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+-353 TJm
+(the) 12.1748 Tj
+-353 TJm
+(number) 30.437 Tj
+-353 TJm
+(of) 8.29918 Tj
+-353 TJm
+(bytes) 21.0319 Tj
+-353 TJm
+(read) 17.1463 Tj
+-352 TJm
+(is) 6.64532 Tj
+-353 TJm
+(returned.) 35.6875 Tj
+-1238 TJm
+(If) 6.63536 Tj
+-353 TJm
+(the) 12.1748 Tj
+-353 TJm
+(logical) 27.1193 Tj
+-353 TJm
+(end-of-stream) 55.8825 Tj
+-353 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-353 TJm
+(detecte) 28.2152 Tj
+1 TJm
+(d,) 7.47225 Tj
+[1 0 0 1 72 473.746] cm
+0 g
+0 G
+[1 0 0 1 -72 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 473.746 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 113.843 473.746] cm
+0 g
+0 G
+[1 0 0 1 -113.843 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+116.795 473.746 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-296 TJm
+(be) 9.40507 Tj
+-296 TJm
+(set) 11.0689 Tj
+-297 TJm
+(to) 7.75121 Tj
+[1 0 0 1 172.328 473.746] cm
+0 g
+0 G
+[1 0 0 1 -172.328 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+172.328 473.746 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 250.037 473.746] cm
+0 g
+0 G
+[1 0 0 1 -250.037 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+250.037 473.746 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-296 TJm
+(and) 14.3866 Tj
+-297 TJm
+(th) 7.75121 Tj
+1 TJm
+(e) 4.42357 Tj
+-297 TJm
+(number) 30.437 Tj
+-296 TJm
+(of) 8.29918 Tj
+-296 TJm
+(bytes) 21.0319 Tj
+-296 TJm
+(read) 17.1463 Tj
+-297 TJm
+(is) 6.64532 Tj
+-296 TJm
+(returned.) 35.6875 Tj
+-898 TJm
+(All) 12.7327 Tj
+-296 TJm
+(other) 20.474 Tj
+[1 0 0 1 470 473.746] cm
+0 g
+0 G
+[1 0 0 1 -470 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+470 473.746 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 511.843 473.746] cm
+0 g
+0 G
+[1 0 0 1 -511.843 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+514.795 473.746 Td
+/F128_0 9.963 Tf
+(v) 4.9815 Tj
+25 TJm
+(alues) 20.474 Tj
+72 461.791 Td
+(denote) 26.5614 Tj
+-250 TJm
+(an) 9.40507 Tj
+-250 TJm
+(error) 19.3581 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 461.691] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -451.729] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 439.873 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 131.776 439.873] cm
+0 g
+0 G
+[1 0 0 1 -131.776 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+134.224 439.873 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-246 TJm
+(supply) 26.5713 Tj
+[1 0 0 1 181.193 439.873] cm
+0 g
+0 G
+[1 0 0 1 -181.193 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+181.193 439.873 Td
+/F130_0 9.963 Tf
+(len) 17.9334 Tj
+[1 0 0 1 199.126 439.873] cm
+0 g
+0 G
+[1 0 0 1 -199.126 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+201.575 439.873 Td
+/F128_0 9.963 Tf
+(bytes,) 23.5226 Tj
+-246 TJm
+(unless) 24.9075 Tj
+-246 TJm
+(the) 12.1748 Tj
+-246 TJm
+(logical) 27.1193 Tj
+-245 TJm
+(stream) 26.5614 Tj
+-246 TJm
+(end) 14.3866 Tj
+-246 TJm
+(is) 6.64532 Tj
+-246 TJm
+(detec) 21.0219 Tj
+1 TJm
+(ted) 12.1748 Tj
+-246 TJm
+(or) 8.29918 Tj
+-246 TJm
+(an) 9.40507 Tj
+-246 TJm
+(error) 19.3581 Tj
+-245 TJm
+(occurs.) 28.4942 Tj
+-617 TJm
+(Because) 33.1967 Tj
+-246 TJm
+(of) 8.29918 Tj
+-246 TJm
+(this,) 16.8873 Tj
+-246 TJm
+(it) 5.53943 Tj
+72 427.918 Td
+(is) 6.64532 Tj
+-231 TJm
+(possible) 32.6587 Tj
+-231 TJm
+(to) 7.75121 Tj
+-231 TJm
+(detect) 23.7916 Tj
+-231 TJm
+(the) 12.1748 Tj
+-231 TJm
+(stream) 26.5614 Tj
+-231 TJm
+(end) 14.3866 Tj
+-231 TJm
+(by) 9.963 Tj
+-231 TJm
+(observing) 39.2941 Tj
+-231 TJm
+(when) 21.5799 Tj
+-231 TJm
+(the) 12.1748 Tj
+-231 TJm
+(number) 30.437 Tj
+-231 TJm
+(of) 8.29918 Tj
+-231 TJm
+(bytes) 21.0319 Tj
+-231 TJm
+(returned) 33.1967 Tj
+-231 TJm
+(is) 6.64532 Tj
+-231 TJm
+(less) 14.9445 Tj
+-231 TJm
+(than) 17.1563 Tj
+-231 TJm
+(the) 12.1748 Tj
+-231 TJm
+(number) 30.437 Tj
+-231 TJm
+(requested.) 40.669 Tj
+72 415.963 Td
+(Ne) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ertheless,) 37.3513 Tj
+-309 TJm
+(this) 14.3965 Tj
+-297 TJm
+(is) 6.64532 Tj
+-297 TJm
+(re) 7.74125 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(arded) 22.1278 Tj
+-298 TJm
+(as) 8.29918 Tj
+-297 TJm
+(inadvisable;) 48.1512 Tj
+-321 TJm
+(you) 14.9445 Tj
+-297 TJm
+(should) 26.5713 Tj
+-297 TJm
+(instead) 28.2252 Tj
+-297 TJm
+(check) 23.2337 Tj
+[1 0 0 1 360.631 415.963] cm
+0 g
+0 G
+[1 0 0 1 -360.631 -415.963] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+360.631 415.963 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 402.475 415.963] cm
+0 g
+0 G
+[1 0 0 1 -402.475 -415.963] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+405.437 415.963 Td
+/F128_0 9.963 Tf
+(after) 18.2522 Tj
+-297 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+-297 TJm
+(call) 14.3866 Tj
+-298 TJm
+(and) 14.3866 Tj
+-297 TJm
+(w) 7.19329 Tj
+10 TJm
+(atch) 16.5984 Tj
+-297 TJm
+(out) 12.7327 Tj
+-297 TJm
+(for) 11.6169 Tj
+[1 0 0 1 72 404.008] cm
+0 g
+0 G
+[1 0 0 1 -72 -404.008] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 404.008 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 149.709 404.008] cm
+0 g
+0 G
+[1 0 0 1 -149.709 -404.008] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+149.709 404.008 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 402.842] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -392.879] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 382.09 Td
+/F128_0 9.963 Tf
+(Internally) 38.7361 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 117.541 382.09] cm
+0 g
+0 G
+[1 0 0 1 -117.541 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+117.541 382.09 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 177.317 382.09] cm
+0 g
+0 G
+[1 0 0 1 -177.317 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+181.786 382.09 Td
+/F128_0 9.963 Tf
+(copies) 25.4555 Tj
+-448 TJm
+(data) 16.5984 Tj
+-449 TJm
+(from) 19.3681 Tj
+-448 TJm
+(the) 12.1748 Tj
+-449 TJm
+(compressed) 47.0353 Tj
+-448 TJm
+(\002le) 12.7327 Tj
+-449 TJm
+(in) 7.75121 Tj
+-448 TJm
+(chunks) 28.2252 Tj
+-449 TJm
+(of) 8.29918 Tj
+-448 TJm
+(size) 15.4925 Tj
+[1 0 0 1 419.602 382.09] cm
+0 g
+0 G
+[1 0 0 1 -419.602 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+419.602 382.09 Td
+/F130_0 9.963 Tf
+(BZ_MAX_UNUSED) 77.7114 Tj
+[1 0 0 1 497.311 382.09] cm
+0 g
+0 G
+[1 0 0 1 -497.311 -382.09] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+501.778 382.09 Td
+/F128_0 9.963 Tf
+(bytes) 21.0319 Tj
+-448 TJm
+(be-) 12.7228 Tj
+72 370.135 Td
+(fore) 16.0404 Tj
+-414 TJm
+(decompressing) 59.768 Tj
+-414 TJm
+(it.) 8.03018 Tj
+-1605 TJm
+(If) 6.63536 Tj
+-414 TJm
+(the) 12.1748 Tj
+-414 TJm
+(\002le) 12.7327 Tj
+-414 TJm
+(contains) 33.2067 Tj
+-414 TJm
+(more) 20.474 Tj
+-415 TJm
+(by) 9.963 Tj
+1 TJm
+(tes) 11.0689 Tj
+-415 TJm
+(than) 17.1563 Tj
+-414 TJm
+(strictly) 27.6772 Tj
+-414 TJm
+(needed) 28.2152 Tj
+-414 TJm
+(to) 7.75121 Tj
+-414 TJm
+(reach) 21.5699 Tj
+-414 TJm
+(the) 12.1748 Tj
+-414 TJm
+(logical) 27.1193 Tj
+-414 TJm
+(end-of-stream,) 58.3732 Tj
+[1 0 0 1 72 358.18] cm
+0 g
+0 G
+[1 0 0 1 -72 -358.18] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 358.18 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 131.776 358.18] cm
+0 g
+0 G
+[1 0 0 1 -131.776 -358.18] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+134.749 358.18 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-298 TJm
+(almost) 26.5713 Tj
+-299 TJm
+(certainly) 34.8605 Tj
+-298 TJm
+(read) 17.1463 Tj
+-298 TJm
+(some) 21.0319 Tj
+-299 TJm
+(of) 8.29918 Tj
+-298 TJm
+(the) 12.1748 Tj
+-299 TJm
+(t) 2.76971 Tj
+1 TJm
+(railing) 26.0134 Tj
+-299 TJm
+(data) 16.5984 Tj
+-298 TJm
+(before) 25.4455 Tj
+-299 TJm
+(s) 3.87561 Tj
+1 TJm
+(ignalling) 35.4284 Tj
+[1 0 0 1 413.162 358.18] cm
+0 g
+0 G
+[1 0 0 1 -413.162 -358.18] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+413.162 358.18 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_END) 89.667 Tj
+[1 0 0 1 502.826 358.18] cm
+0 g
+0 G
+[1 0 0 1 -502.826 -358.18] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+502.826 358.18 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-597 TJm
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-298 TJm
+(col-) 15.4925 Tj
+72 346.224 Td
+(lect) 14.3866 Tj
+-242 TJm
+(the) 12.1748 Tj
+-242 TJm
+(read) 17.1463 Tj
+-242 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-242 TJm
+(unused) 28.2252 Tj
+-243 TJm
+(d) 4.9815 Tj
+1 TJm
+(ata) 11.6169 Tj
+-243 TJm
+(once) 18.8101 Tj
+[1 0 0 1 208.759 346.224] cm
+0 g
+0 G
+[1 0 0 1 -208.759 -346.224] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+208.759 346.224 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_END) 89.667 Tj
+[1 0 0 1 298.423 346.224] cm
+0 g
+0 G
+[1 0 0 1 -298.423 -346.224] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+300.835 346.224 Td
+/F128_0 9.963 Tf
+(has) 13.2807 Tj
+-242 TJm
+(appeared,) 38.4472 Tj
+-244 TJm
+(call) 14.3866 Tj
+[1 0 0 1 374.201 346.224] cm
+0 g
+0 G
+[1 0 0 1 -374.201 -346.224] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+374.201 346.224 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadGetUnused) 113.578 Tj
+[1 0 0 1 487.775 346.224] cm
+0 g
+0 G
+[1 0 0 1 -487.775 -346.224] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+490.188 346.224 Td
+/F128_0 9.963 Tf
+(immediately) 49.815 Tj
+72 334.269 Td
+(before) 25.4455 Tj
+[1 0 0 1 99.935 334.269] cm
+0 g
+0 G
+[1 0 0 1 -99.935 -334.269] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+99.935 334.269 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 189.599 334.269] cm
+0 g
+0 G
+[1 0 0 1 -189.599 -334.269] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+189.599 334.269 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 333.104] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -323.141] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 312.351 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(assignments) 48.7091 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 169.144 312.351] cm
+0 g
+0 G
+[1 0 0 1 -169.144 -312.351] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.144 312.351 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 210.987 312.351] cm
+0 g
+0 G
+[1 0 0 1 -210.987 -312.351] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.987 312.351 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 310.195] cm
+0 g
+0 G
+[1 0 0 1 0 -259.343] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(20) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 24 24
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -284.568] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 263.014 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 259.427] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 699.676 Td
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(buf) 17.9334 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(len) 17.9334 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+90 687.721 Td
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+98.488 675.766 Td
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(opened) 35.8668 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(BZ2) 17.9334 Tj
+1 TJm
+(_bzWriteOpen) 71.7336 Tj
+90 663.811 Td
+(BZ_IO_ERROR) 65.7558 Tj
+98.488 651.856 Td
+(if) 11.9556 Tj
+-426 TJm
+(there) 29.889 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(an) 11.9556 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(rea) 17.9334 Tj
+1 TJm
+(ding) 23.9112 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(file) 23.9112 Tj
+90 639.9 Td
+(BZ_UNEXPECTED_EOF) 101.623 Tj
+98.488 627.945 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(file) 23.9112 Tj
+-426 TJm
+(e) 5.9778 Tj
+1 TJm
+(nded) 23.9112 Tj
+-426 TJm
+(before) 35.8668 Tj
+98.488 615.99 Td
+(the) 17.9334 Tj
+-426 TJm
+(logical) 41.8446 Tj
+-426 TJm
+(end-of-stream) 77.7114 Tj
+-425 TJm
+(was) 17.9334 Tj
+-426 TJm
+(detected) 47.8224 Tj
+90 604.035 Td
+(BZ_DATA_ERROR) 77.7114 Tj
+98.488 592.08 Td
+(if) 11.9556 Tj
+-426 TJm
+(a) 5.9778 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(integrity) 53.8002 Tj
+-426 TJm
+(erro) 23.9112 Tj
+1 TJm
+(r) 5.9778 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(detected) 47.8224 Tj
+-426 TJm
+(in) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(stream) 35.8668 Tj
+90 580.124 Td
+(BZ_DATA_ERROR_MAGIC) 113.578 Tj
+98.488 568.169 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(stream) 35.8668 Tj
+-426 TJm
+(does) 23.9112 Tj
+-426 TJm
+(not) 17.9334 Tj
+-426 TJm
+(b) 5.9778 Tj
+1 TJm
+(egin) 23.9112 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(requisite) 53.8002 Tj
+-426 TJm
+(header) 35.8668 Tj
+-426 TJm
+(bytes) 29.889 Tj
+98.488 556.214 Td
+(\(ie,) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(not) 17.9334 Tj
+-426 TJm
+(a) 5.9778 Tj
+-426 TJm
+(bzip2) 29.889 Tj
+-426 TJm
+(data) 23.9112 Tj
+-425 TJm
+(file\).) 35.8668 Tj
+-852 TJm
+(This) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(really) 35.8668 Tj
+98.488 544.259 Td
+(a) 5.9778 Tj
+-426 TJm
+(special) 41.8446 Tj
+-426 TJm
+(case) 23.9112 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(BZ_DAT) 35.8668 Tj
+1 TJm
+(A_ERROR.) 47.8224 Tj
+90 532.304 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 520.349 Td
+(if) 11.9556 Tj
+-426 TJm
+(insufficient) 71.7336 Tj
+-426 TJm
+(memory) 35.8668 Tj
+-426 TJm
+(wa) 11.9556 Tj
+1 TJm
+(s) 5.9778 Tj
+-426 TJm
+(available) 53.8002 Tj
+90 508.393 Td
+(BZ_STREAM_END) 77.7114 Tj
+98.488 496.438 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(logical) 41.8446 Tj
+-426 TJm
+(end) 17.9334 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(st) 11.9556 Tj
+1 TJm
+(ream) 23.9112 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(detected.) 53.8002 Tj
+90 484.483 Td
+(BZ_OK) 29.889 Tj
+98.488 472.528 Td
+(otherwise.) 59.778 Tj
+[1 0 0 1 72 456.986] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -447.024] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 435.068 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 434.969] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 56.19] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -425.604] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 425.604 Td
+/F130_0 9.963 Tf
+(number) 35.8668 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(bytes) 29.889 Tj
+-426 TJm
+(read) 23.9112 Tj
+98.488 413.649 Td
+(if) 11.9556 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(B) 5.9778 Tj
+1 TJm
+(Z_STREAM_END) 71.7336 Tj
+90 401.694 Td
+(undefined) 53.8002 Tj
+98.488 389.739 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 374.197] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -364.234] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 352.279 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 352.179] cm
+0 g
+0 G
+[1 0 0 1 0 -84.682] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 83.686 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 80.099] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -342.815] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 342.815 Td
+/F130_0 9.963 Tf
+(collect) 41.8446 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(buf,) 23.9112 Tj
+-426 TJm
+(t) 5.9778 Tj
+1 TJm
+(hen) 17.9334 Tj
+-426 TJm
+(BZ2_bzRead) 59.778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(BZ2_bzReadClose) 89.667 Tj
+98.488 330.859 Td
+(if) 11.9556 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+90 318.904 Td
+(collect) 41.8446 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(buf,) 23.9112 Tj
+-426 TJm
+(t) 5.9778 Tj
+1 TJm
+(hen) 17.9334 Tj
+-426 TJm
+(BZ2_bzReadClose) 89.667 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(BZ2_bzReadGetUnused) 113.578 Tj
+98.488 306.949 Td
+(if) 11.9556 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(BZ_SEQUENCE) 65.7558 Tj
+1 TJm
+(_END) 23.9112 Tj
+90 294.994 Td
+(BZ2_bzReadClose) 89.667 Tj
+98.488 283.039 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 267.497] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -257.534] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 236.876 Td
+/F121_0 17.215 Tf
+(3.4.3.) 43.0719 Tj
+[1 0 0 1 119.858 236.876] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -236.876] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 236.876 Td
+/F387_0 17.215 Tf
+(BZ2_bzReadGetUnused) 196.251 Tj
+[1 0 0 1 316.114 236.876] cm
+0 g
+0 G
+[1 0 0 1 -244.114 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -36.862] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -225.178] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 225.178 Td
+/F130_0 9.963 Tf
+(void) 23.9112 Tj
+-426 TJm
+(BZ2_bzReadGetUnused\() 119.556 Tj
+-425 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(bzerror,) 47.8224 Tj
+-426 TJm
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*b,) 17.9334 Tj
+200.343 213.223 Td
+(void**) 35.8668 Tj
+-426 TJm
+(unused,) 41.8446 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(nUnuse) 35.8668 Tj
+1 TJm
+(d) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 197.681] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -187.719] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 175.764 Td
+/F128_0 9.963 Tf
+(Returns) 30.9949 Tj
+-435 TJm
+(data) 16.5984 Tj
+-435 TJm
+(which) 24.3496 Tj
+-435 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-435 TJm
+(rea) 12.1648 Tj
+1 TJm
+(d) 4.9815 Tj
+-435 TJm
+(from) 19.3681 Tj
+-435 TJm
+(the) 12.1748 Tj
+-435 TJm
+(compressed) 47.0353 Tj
+-435 TJm
+(\002le) 12.7327 Tj
+-435 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-435 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-435 TJm
+(not) 12.7327 Tj
+-435 TJm
+(needed) 28.2152 Tj
+-435 TJm
+(to) 7.75121 Tj
+-435 TJm
+(get) 12.1748 Tj
+-434 TJm
+(to) 7.75121 Tj
+-435 TJm
+(the) 12.1748 Tj
+-435 TJm
+(logical) 27.1193 Tj
+-435 TJm
+(end-of-stream.) 58.3732 Tj
+[1 0 0 1 72 163.808] cm
+0 g
+0 G
+[1 0 0 1 -72 -163.808] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 163.808 Td
+/F130_0 9.963 Tf
+(*unused) 41.8446 Tj
+[1 0 0 1 113.843 163.808] cm
+0 g
+0 G
+[1 0 0 1 -113.843 -163.808] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+117.2 163.808 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-337 TJm
+(set) 11.0689 Tj
+-337 TJm
+(to) 7.75121 Tj
+-337 TJm
+(the) 12.1748 Tj
+-336 TJm
+(address) 29.879 Tj
+-337 TJm
+(of) 8.29918 Tj
+-337 TJm
+(the) 12.1748 Tj
+-337 TJm
+(data,) 19.0891 Tj
+-359 TJm
+(a) 4.42357 Tj
+1 TJm
+(nd) 9.963 Tj
+[1 0 0 1 269.089 163.808] cm
+0 g
+0 G
+[1 0 0 1 -269.089 -163.808] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+269.089 163.808 Td
+/F130_0 9.963 Tf
+(*nUnused) 47.8224 Tj
+[1 0 0 1 316.91 163.808] cm
+0 g
+0 G
+[1 0 0 1 -316.91 -163.808] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+320.267 163.808 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-337 TJm
+(the) 12.1748 Tj
+-337 TJm
+(number) 30.437 Tj
+-337 TJm
+(o) 4.9815 Tj
+1 TJm
+(f) 3.31768 Tj
+-337 TJm
+(bytes.) 23.5226 Tj
+[1 0 0 1 427.247 163.808] cm
+0 g
+0 G
+[1 0 0 1 -427.247 -163.808] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+427.247 163.808 Td
+/F130_0 9.963 Tf
+(*nUnused) 47.8224 Tj
+[1 0 0 1 475.068 163.808] cm
+0 g
+0 G
+[1 0 0 1 -475.068 -163.808] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+478.425 163.808 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-337 TJm
+(be) 9.40507 Tj
+-337 TJm
+(set) 11.0689 Tj
+-337 TJm
+(to) 7.75121 Tj
+-336 TJm
+(a) 4.42357 Tj
+72 151.853 Td
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-250 TJm
+(between) 33.1967 Tj
+[1 0 0 1 131.506 151.853] cm
+0 g
+0 G
+[1 0 0 1 -131.506 -151.853] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+131.506 151.853 Td
+/F130_0 9.963 Tf
+(0) 5.9778 Tj
+[1 0 0 1 137.484 151.853] cm
+0 g
+0 G
+[1 0 0 1 -137.484 -151.853] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+139.975 151.853 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 156.851 151.853] cm
+0 g
+0 G
+[1 0 0 1 -156.851 -151.853] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+156.851 151.853 Td
+/F130_0 9.963 Tf
+(BZ_MAX_UNUSED) 77.7114 Tj
+[1 0 0 1 234.56 151.853] cm
+0 g
+0 G
+[1 0 0 1 -234.56 -151.853] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+237.05 151.853 Td
+/F128_0 9.963 Tf
+(inclusi) 26.5713 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e.) 6.91432 Tj
+[1 0 0 1 72 150.688] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -140.725] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 129.936 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-882 TJm
+(function) 33.2067 Tj
+-883 TJm
+(may) 17.1563 Tj
+-882 TJm
+(only) 17.7142 Tj
+-882 TJm
+(be) 9.40507 Tj
+-883 TJm
+(called) 23.7916 Tj
+-882 TJm
+(once) 18.8101 Tj
+[1 0 0 1 271.332 129.936] cm
+0 g
+0 G
+[1 0 0 1 -271.332 -129.936] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+271.332 129.936 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 331.108 129.936] cm
+0 g
+0 G
+[1 0 0 1 -331.108 -129.936] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+339.9 129.936 Td
+/F128_0 9.963 Tf
+(has) 13.2807 Tj
+-882 TJm
+(signalled) 35.9764 Tj
+[1 0 0 1 406.737 129.936] cm
+0 g
+0 G
+[1 0 0 1 -406.737 -129.936] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+406.737 129.936 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 484.446 129.936] cm
+0 g
+0 G
+[1 0 0 1 -484.446 -129.936] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+493.231 129.936 Td
+/F128_0 9.963 Tf
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-882 TJm
+(before) 25.4455 Tj
+[1 0 0 1 72 117.98] cm
+0 g
+0 G
+[1 0 0 1 -72 -117.98] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 117.98 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 161.664 117.98] cm
+0 g
+0 G
+[1 0 0 1 -161.664 -117.98] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+161.664 117.98 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 116.815] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -106.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 96.063 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(assignments) 48.7091 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 169.144 96.063] cm
+0 g
+0 G
+[1 0 0 1 -169.144 -96.063] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.144 96.063 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 210.987 96.063] cm
+0 g
+0 G
+[1 0 0 1 -210.987 -96.063] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.987 96.063 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 93.906] cm
+0 g
+0 G
+[1 0 0 1 0 -43.054] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.852 Td
+/F128_0 9.963 Tf
+(21) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 25 25
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -129.151] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 107.597 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 104.01] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 699.676 Td
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+98.488 687.721 Td
+(or) 11.9556 Tj
+-426 TJm
+(unused) 35.8668 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(nUn) 17.9334 Tj
+1 TJm
+(used) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+90 675.766 Td
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+98.488 663.811 Td
+(if) 11.9556 Tj
+-426 TJm
+(BZ_STREAM_END) 77.7114 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(not) 17.9334 Tj
+-425 TJm
+(been) 23.9112 Tj
+-426 TJm
+(signalled) 53.8002 Tj
+98.488 651.856 Td
+(or) 11.9556 Tj
+-426 TJm
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(opened) 35.8668 Tj
+-426 TJm
+(with) 23.9112 Tj
+-425 TJm
+(BZ2_bzWriteOpen) 89.667 Tj
+90 639.9 Td
+(BZ_OK) 29.889 Tj
+98.488 627.945 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 612.403] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -602.441] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 590.486 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 590.386] cm
+0 g
+0 G
+[1 0 0 1 0 -24.906] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -581.021] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 581.021 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 72 565.48] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -555.517] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 534.858 Td
+/F121_0 17.215 Tf
+(3.4.4.) 43.0719 Tj
+[1 0 0 1 119.858 534.858] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -534.858] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 534.858 Td
+/F387_0 17.215 Tf
+(BZ2_bzReadClose) 154.935 Tj
+[1 0 0 1 274.797 534.858] cm
+0 g
+0 G
+[1 0 0 1 -202.797 -2.332] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.323] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -523.161] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 523.161 Td
+/F130_0 9.963 Tf
+(void) 23.9112 Tj
+-426 TJm
+(BZ2_bzReadClose) 89.667 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(in) 11.9556 Tj
+1 TJm
+(t) 5.9778 Tj
+-426 TJm
+(*bzerror,) 53.8002 Tj
+-426 TJm
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*b) 11.9556 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 507.619] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -497.656] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 485.701 Td
+/F128_0 9.963 Tf
+(Releases) 34.8605 Tj
+-429 TJm
+(all) 9.963 Tj
+-430 TJm
+(memory) 33.2067 Tj
+-429 TJm
+(pertaining) 40.4 Tj
+-430 TJm
+(to) 7.75121 Tj
+-429 TJm
+(the) 12.1748 Tj
+-430 TJm
+(compressed) 47.0353 Tj
+-429 TJm
+(\002le) 12.7327 Tj
+[1 0 0 1 304.352 485.701] cm
+0 g
+0 G
+[1 0 0 1 -304.352 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+304.352 485.701 Td
+/F130_0 9.963 Tf
+(b) 5.9778 Tj
+[1 0 0 1 310.33 485.701] cm
+0 g
+0 G
+[1 0 0 1 -310.33 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+310.33 485.701 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 321.276 485.701] cm
+0 g
+0 G
+[1 0 0 1 -321.276 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+321.276 485.701 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 410.94 485.701] cm
+0 g
+0 G
+[1 0 0 1 -410.94 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+415.22 485.701 Td
+/F128_0 9.963 Tf
+(does) 18.2622 Tj
+-429 TJm
+(not) 12.7327 Tj
+-430 TJm
+(call) 14.3866 Tj
+[1 0 0 1 473.438 485.701] cm
+0 g
+0 G
+[1 0 0 1 -473.438 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+473.438 485.701 Td
+/F130_0 9.963 Tf
+(fclose) 35.8668 Tj
+[1 0 0 1 509.304 485.701] cm
+0 g
+0 G
+[1 0 0 1 -509.304 -485.701] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+513.583 485.701 Td
+/F128_0 9.963 Tf
+(on) 9.963 Tj
+-430 TJm
+(the) 12.1748 Tj
+72 473.746 Td
+(underlying) 43.1697 Tj
+-264 TJm
+(\002le) 12.7327 Tj
+-264 TJm
+(hand) 19.3681 Tj
+1 TJm
+(le,) 9.68404 Tj
+-268 TJm
+(so) 8.85711 Tj
+-264 TJm
+(you) 14.9445 Tj
+-264 TJm
+(sh) 8.85711 Tj
+1 TJm
+(ould) 17.7142 Tj
+-264 TJm
+(do) 9.963 Tj
+-264 TJm
+(that) 14.9445 Tj
+-264 TJm
+(yourself) 32.6488 Tj
+-264 TJm
+(if) 6.08739 Tj
+-264 TJm
+(appropri) 33.7546 Tj
+1 TJm
+(ate.) 14.1076 Tj
+[1 0 0 1 348.653 473.746] cm
+0 g
+0 G
+[1 0 0 1 -348.653 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+348.653 473.746 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 438.317 473.746] cm
+0 g
+0 G
+[1 0 0 1 -438.317 -473.746] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+440.946 473.746 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-264 TJm
+(be) 9.40507 Tj
+-264 TJm
+(called) 23.7916 Tj
+-263 TJm
+(to) 7.75121 Tj
+-264 TJm
+(clean) 21.0219 Tj
+72 461.791 Td
+(up) 9.963 Tj
+-250 TJm
+(after) 18.2522 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(situations.) 40.6889 Tj
+[1 0 0 1 72 459.634] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -449.671] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 439.873 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(assignments) 48.7091 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 169.144 439.873] cm
+0 g
+0 G
+[1 0 0 1 -169.144 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.144 439.873 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 210.987 439.873] cm
+0 g
+0 G
+[1 0 0 1 -210.987 -439.873] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.987 439.873 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 437.716] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 56.189] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -428.351] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 428.351 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+98.488 416.396 Td
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(opened) 35.8668 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(BZ2) 17.9334 Tj
+1 TJm
+(_bzOpenWrite) 71.7336 Tj
+90 404.441 Td
+(BZ_OK) 29.889 Tj
+98.488 392.486 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 376.944] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -366.982] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 355.026 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 354.927] cm
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -345.562] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 345.562 Td
+/F130_0 9.963 Tf
+(none) 23.9112 Tj
+[1 0 0 1 72 330.02] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -320.058] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 299.399 Td
+/F121_0 17.215 Tf
+(3.4.5.) 43.0719 Tj
+[1 0 0 1 119.858 299.399] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -299.399] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 299.399 Td
+/F387_0 17.215 Tf
+(BZ2_bzWriteOpen) 154.935 Tj
+[1 0 0 1 274.797 299.399] cm
+0 g
+0 G
+[1 0 0 1 -202.797 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -48.817] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 47.821 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 44.234] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -287.702] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 287.702 Td
+/F130_0 9.963 Tf
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*BZ2_bzWriteOpen\() 101.623 Tj
+-425 TJm
+(int) 17.9334 Tj
+-426 TJm
+(*bzerror,) 53.8002 Tj
+-426 TJm
+(FILE) 23.9112 Tj
+-426 TJm
+(*f,) 17.9334 Tj
+196.099 275.746 Td
+(int) 17.9334 Tj
+-426 TJm
+(blockSize100k,) 83.6892 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(ver) 17.9334 Tj
+1 TJm
+(bosity,) 41.8446 Tj
+196.099 263.791 Td
+(int) 17.9334 Tj
+-426 TJm
+(workFactor) 59.778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 248.249] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -238.287] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 226.332 Td
+/F128_0 9.963 Tf
+(Prepare) 30.427 Tj
+-268 TJm
+(to) 7.75121 Tj
+-269 TJm
+(write) 20.474 Tj
+-268 TJm
+(compressed) 47.0353 Tj
+-268 TJm
+(data) 16.5984 Tj
+-269 TJm
+(to) 7.75121 Tj
+-268 TJm
+(\002le) 12.7327 Tj
+-269 TJm
+(hand) 19.3681 Tj
+1 TJm
+(le) 7.19329 Tj
+[1 0 0 1 262.72 226.332] cm
+0 g
+0 G
+[1 0 0 1 -262.72 -226.332] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+262.72 226.332 Td
+/F130_0 9.963 Tf
+(f) 5.9778 Tj
+[1 0 0 1 268.698 226.332] cm
+0 g
+0 G
+[1 0 0 1 -268.698 -226.332] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+268.698 226.332 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 274.829 226.332] cm
+0 g
+0 G
+[1 0 0 1 -274.829 -226.332] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+274.829 226.332 Td
+/F130_0 9.963 Tf
+(f) 5.9778 Tj
+[1 0 0 1 280.807 226.332] cm
+0 g
+0 G
+[1 0 0 1 -280.807 -226.332] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+283.481 226.332 Td
+/F128_0 9.963 Tf
+(should) 26.5713 Tj
+-268 TJm
+(refer) 18.8002 Tj
+-269 TJm
+(to) 7.75121 Tj
+-268 TJm
+(a) 4.42357 Tj
+-269 TJm
+(\002le) 12.7327 Tj
+-268 TJm
+(which) 24.3496 Tj
+-268 TJm
+(has) 13.2807 Tj
+-269 TJm
+(been) 18.8101 Tj
+-268 TJm
+(opened) 28.7731 Tj
+-269 TJm
+(f) 3.31768 Tj
+1 TJm
+(or) 8.29918 Tj
+-269 TJm
+(writing,) 31.2739 Tj
+-273 TJm
+(and) 14.3866 Tj
+-268 TJm
+(for) 11.6169 Tj
+72 214.377 Td
+(which) 24.3496 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(indicator) 35.4185 Tj
+-250 TJm
+(\() 3.31768 Tj
+[1 0 0 1 176.577 214.377] cm
+0 g
+0 G
+[1 0 0 1 -176.577 -214.377] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+176.577 214.377 Td
+/F130_0 9.963 Tf
+(ferror\(f\)) 53.8002 Tj
+[1 0 0 1 230.375 214.377] cm
+0 g
+0 G
+[1 0 0 1 -230.375 -214.377] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+230.375 214.377 Td
+/F128_0 9.963 Tf
+(\)is) 9.963 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(set.) 13.5596 Tj
+[1 0 0 1 72 212.593] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -202.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 192.459 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-223 TJm
+(the) 12.1748 Tj
+-224 TJm
+(meaning) 34.3126 Tj
+-223 TJm
+(of) 8.29918 Tj
+-223 TJm
+(parameters) 43.7077 Tj
+[1 0 0 1 195.306 192.459] cm
+0 g
+0 G
+[1 0 0 1 -195.306 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+195.306 192.459 Td
+/F130_0 9.963 Tf
+(blockSize100k) 77.7114 Tj
+[1 0 0 1 273.015 192.459] cm
+0 g
+0 G
+[1 0 0 1 -273.015 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+273.015 192.459 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 277.784 192.459] cm
+0 g
+0 G
+[1 0 0 1 -277.784 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+277.784 192.459 Td
+/F130_0 9.963 Tf
+(verbosity) 53.8002 Tj
+[1 0 0 1 331.583 192.459] cm
+0 g
+0 G
+[1 0 0 1 -331.583 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+333.808 192.459 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 350.42 192.459] cm
+0 g
+0 G
+[1 0 0 1 -350.42 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+350.42 192.459 Td
+/F130_0 9.963 Tf
+(workFactor) 59.778 Tj
+[1 0 0 1 410.196 192.459] cm
+0 g
+0 G
+[1 0 0 1 -410.196 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+410.196 192.459 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-229 TJm
+(see) 12.7228 Tj
+[1 0 0 1 429.913 192.459] cm
+0 g
+0 G
+[1 0 0 1 -429.913 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+429.913 192.459 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 537.509 192.459] cm
+0 g
+0 G
+[1 0 0 1 -537.509 -192.459] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+537.509 192.459 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 190.302] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -180.339] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 170.541 Td
+/F128_0 9.963 Tf
+(All) 12.7327 Tj
+-382 TJm
+(required) 33.1967 Tj
+-382 TJm
+(memory) 33.2067 Tj
+-382 TJm
+(is) 6.64532 Tj
+-382 TJm
+(allocated) 35.9664 Tj
+-382 TJm
+(at) 7.19329 Tj
+-382 TJm
+(this) 14.3965 Tj
+-382 TJm
+(stage,) 22.9647 Tj
+-415 TJm
+(so) 8.85711 Tj
+-382 TJm
+(if) 6.08739 Tj
+-382 TJm
+(the) 12.1748 Tj
+-382 TJm
+(call) 14.3866 Tj
+-382 TJm
+(completes) 40.4 Tj
+-382 TJm
+(successfully) 48.6991 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 424.692 170.541] cm
+0 g
+0 G
+[1 0 0 1 -424.692 -170.541] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+424.692 170.541 Td
+/F130_0 9.963 Tf
+(BZ_MEM_ERROR) 71.7336 Tj
+[1 0 0 1 496.423 170.541] cm
+0 g
+0 G
+[1 0 0 1 -496.423 -170.541] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+500.228 170.541 Td
+/F128_0 9.963 Tf
+(cannot) 26.5614 Tj
+-382 TJm
+(be) 9.40507 Tj
+72 158.586 Td
+(signalled) 35.9764 Tj
+-250 TJm
+(by) 9.963 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(subsequent) 44.2756 Tj
+-250 TJm
+(cal) 11.6169 Tj
+1 TJm
+(l) 2.76971 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 203.715 158.586] cm
+0 g
+0 G
+[1 0 0 1 -203.715 -158.586] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+203.715 158.586 Td
+/F130_0 9.963 Tf
+(BZ2_bzWrite) 65.7558 Tj
+[1 0 0 1 269.468 158.586] cm
+0 g
+0 G
+[1 0 0 1 -269.468 -158.586] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+269.468 158.586 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 156.429] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -146.466] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 136.668 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(assignments) 48.7091 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 169.144 136.668] cm
+0 g
+0 G
+[1 0 0 1 -169.144 -136.668] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.144 136.668 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 210.987 136.668] cm
+0 g
+0 G
+[1 0 0 1 -210.987 -136.668] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.987 136.668 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 134.511] cm
+0 g
+0 G
+[1 0 0 1 0 -83.659] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.852 Td
+/F128_0 9.963 Tf
+(22) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 26 26
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -165.016] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 143.462 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 139.875] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(BZ_CONFIG_ERROR) 89.667 Tj
+98.488 699.676 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(library) 41.8446 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-425 TJm
+(mis-compiled) 71.7336 Tj
+90 687.721 Td
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 675.766 Td
+(if) 11.9556 Tj
+-426 TJm
+(f) 5.9778 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+98.488 663.811 Td
+(or) 11.9556 Tj
+-426 TJm
+(blockSize100k) 77.7114 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(1) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-425 TJm
+(blockSize100k) 77.7114 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(9) 5.9778 Tj
+90 651.856 Td
+(BZ_IO_ERROR) 65.7558 Tj
+98.488 639.9 Td
+(if) 11.9556 Tj
+-426 TJm
+(ferror\(f\)) 53.8002 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(nonzero) 41.8446 Tj
+90 627.945 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 615.99 Td
+(if) 11.9556 Tj
+-426 TJm
+(insufficient) 71.7336 Tj
+-426 TJm
+(memory) 35.8668 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(available) 53.8002 Tj
+90 604.035 Td
+(BZ_OK) 29.889 Tj
+98.488 592.08 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 576.538] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -566.575] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 554.62 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 554.521] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 56.189] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -545.156] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 545.156 Td
+/F130_0 9.963 Tf
+(Pointer) 41.8446 Tj
+-426 TJm
+(to) 11.9556 Tj
+-426 TJm
+(an) 11.9556 Tj
+-426 TJm
+(abstract) 47.8224 Tj
+-426 TJm
+(B) 5.9778 Tj
+1 TJm
+(ZFILE) 29.889 Tj
+98.488 533.201 Td
+(if) 11.9556 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+90 521.245 Td
+(NULL) 23.9112 Tj
+98.488 509.29 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 493.749] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -483.786] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 471.831 Td
+/F128_0 9.963 Tf
+(Allo) 17.7142 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able) 16.5984 Tj
+-250 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(actions:) 30.9949 Tj
+[1 0 0 1 72 471.731] cm
+0 g
+0 G
+[1 0 0 1 0 -84.682] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 83.686 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 80.1] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -462.366] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 462.366 Td
+/F130_0 9.963 Tf
+(BZ2_bzWrite) 65.7558 Tj
+98.488 450.411 Td
+(if) 11.9556 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+98.488 438.456 Td
+(\(you) 23.9112 Tj
+-426 TJm
+(could) 29.889 Tj
+-426 TJm
+(go) 11.9556 Tj
+-426 TJm
+(directly) 47.8224 Tj
+-426 TJm
+(t) 5.9778 Tj
+1 TJm
+(o) 5.9778 Tj
+-426 TJm
+(BZ2_bzWriteClose,) 101.623 Tj
+-426 TJm
+(but) 17.9334 Tj
+-426 TJm
+(this) 23.9112 Tj
+-426 TJm
+(would) 29.889 Tj
+-426 TJm
+(be) 11.9556 Tj
+-426 TJm
+(pretty) 35.8668 Tj
+485.506 434.212 Td
+/F559_0 9.963 Tf
+( ) 9.963 Tj
+493.808 434.212 Td
+/F143_0 9.963 Tf
+(-) 2.76971 Tj
+90 426.501 Td
+/F130_0 9.963 Tf
+(pointless\)) 59.778 Tj
+90 414.546 Td
+(BZ2_bzWriteClose) 95.6448 Tj
+98.488 402.59 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 387.049] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -377.086] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 356.428 Td
+/F121_0 17.215 Tf
+(3.4.6.) 43.0719 Tj
+[1 0 0 1 119.858 356.428] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -356.428] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 356.428 Td
+/F387_0 17.215 Tf
+(BZ2_bzWrite) 113.619 Tj
+[1 0 0 1 233.48 356.428] cm
+0 g
+0 G
+[1 0 0 1 -161.48 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -344.73] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 344.73 Td
+/F130_0 9.963 Tf
+(void) 23.9112 Tj
+-426 TJm
+(BZ2_bzWrite) 65.7558 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(*) 5.9778 Tj
+1 TJm
+(bzerror,) 47.8224 Tj
+-426 TJm
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*b,) 17.9334 Tj
+-426 TJm
+(void) 23.9112 Tj
+-426 TJm
+(*buf,) 29.889 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(len) 17.9334 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 329.188] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -319.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 307.271 Td
+/F128_0 9.963 Tf
+(Absorbs) 33.2067 Tj
+[1 0 0 1 107.696 307.271] cm
+0 g
+0 G
+[1 0 0 1 -107.696 -307.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+107.696 307.271 Td
+/F130_0 9.963 Tf
+(len) 17.9334 Tj
+[1 0 0 1 125.629 307.271] cm
+0 g
+0 G
+[1 0 0 1 -125.629 -307.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+128.119 307.271 Td
+/F128_0 9.963 Tf
+(bytes) 21.0319 Tj
+-250 TJm
+(from) 19.3681 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+[1 0 0 1 214.544 307.271] cm
+0 g
+0 G
+[1 0 0 1 -214.544 -307.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+214.544 307.271 Td
+/F130_0 9.963 Tf
+(buf) 17.9334 Tj
+[1 0 0 1 232.477 307.271] cm
+0 g
+0 G
+[1 0 0 1 -232.477 -307.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+232.477 307.271 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(entually) 32.1008 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-249 TJm
+(and) 14.3866 Tj
+-250 TJm
+(written) 28.2252 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(\002le.) 15.2235 Tj
+[1 0 0 1 72 305.114] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -295.151] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 285.353 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(assignments) 48.7091 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 169.144 285.353] cm
+0 g
+0 G
+[1 0 0 1 -169.144 -285.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.144 285.353 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 210.987 285.353] cm
+0 g
+0 G
+[1 0 0 1 -210.987 -285.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.987 285.353 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 283.196] cm
+0 g
+0 G
+[1 0 0 1 0 -108.593] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 107.597 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 104.01] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -273.831] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 273.831 Td
+/F130_0 9.963 Tf
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 261.876 Td
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(buf) 17.9334 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(len) 17.9334 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+90 249.921 Td
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+98.488 237.966 Td
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(opened) 35.8668 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(BZ2) 17.9334 Tj
+1 TJm
+(_bzReadOpen) 65.7558 Tj
+90 226.01 Td
+(BZ_IO_ERROR) 65.7558 Tj
+98.488 214.055 Td
+(if) 11.9556 Tj
+-426 TJm
+(there) 29.889 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(an) 11.9556 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(wri) 17.9334 Tj
+1 TJm
+(ting) 23.9112 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(file.) 29.889 Tj
+90 202.1 Td
+(BZ_OK) 29.889 Tj
+98.488 190.145 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 174.603] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -164.64] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 143.982 Td
+/F121_0 17.215 Tf
+(3.4.7.) 43.0719 Tj
+[1 0 0 1 119.858 143.982] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -143.982] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 143.982 Td
+/F387_0 17.215 Tf
+(BZ2_bzWriteClose) 165.264 Tj
+[1 0 0 1 285.126 143.982] cm
+0 g
+0 G
+[1 0 0 1 -213.126 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -90.797] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(23) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 27 27
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -165.016] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 143.462 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 139.875] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(void) 23.9112 Tj
+-426 TJm
+(BZ2_bzWriteClose\() 101.623 Tj
+-426 TJm
+(in) 11.9556 Tj
+1 TJm
+(t) 5.9778 Tj
+-426 TJm
+(*bzerror,) 53.8002 Tj
+-426 TJm
+(BZFILE*) 41.8446 Tj
+-426 TJm
+(f,) 11.9556 Tj
+187.611 699.676 Td
+(int) 17.9334 Tj
+-426 TJm
+(abandon,) 47.8224 Tj
+187.611 687.721 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(nbytes_in,) 59.778 Tj
+187.611 675.766 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(nbytes_out) 59.778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 651.856 Td
+(void) 23.9112 Tj
+-426 TJm
+(BZ2_bzWriteClose64\() 113.578 Tj
+-425 TJm
+(int) 17.9334 Tj
+-426 TJm
+(*bzerror,) 53.8002 Tj
+-426 TJm
+(BZFILE*) 41.8446 Tj
+-426 TJm
+(f,) 11.9556 Tj
+196.099 639.9 Td
+(int) 17.9334 Tj
+-426 TJm
+(abandon,) 47.8224 Tj
+196.099 627.945 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(nbytes_in_lo3) 77.7114 Tj
+1 TJm
+(2,) 11.9556 Tj
+196.099 615.99 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(nbytes_in_hi3) 77.7114 Tj
+1 TJm
+(2,) 11.9556 Tj
+196.099 604.035 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(nbytes_out_lo) 77.7114 Tj
+1 TJm
+(32,) 17.9334 Tj
+196.099 592.08 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(nbytes_out_hi) 77.7114 Tj
+1 TJm
+(32) 11.9556 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 576.538] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -566.575] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 554.62 Td
+/F128_0 9.963 Tf
+(Compresses) 48.1512 Tj
+-402 TJm
+(and) 14.3866 Tj
+-403 TJm
+(\003ushes) 27.6772 Tj
+-403 TJm
+(to) 7.75121 Tj
+-402 TJm
+(the) 12.1748 Tj
+-403 TJm
+(compressed) 47.0353 Tj
+-402 TJm
+(\002le) 12.7327 Tj
+-403 TJm
+(all) 9.963 Tj
+-402 TJm
+(data) 16.5984 Tj
+-403 TJm
+(so) 8.85711 Tj
+-403 TJm
+(f) 3.31768 Tj
+11 TJm
+(ar) 7.74125 Tj
+-403 TJm
+(supplied) 33.7646 Tj
+-403 TJm
+(by) 9.963 Tj
+[1 0 0 1 384.152 554.62] cm
+0 g
+0 G
+[1 0 0 1 -384.152 -554.62] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+384.152 554.62 Td
+/F130_0 9.963 Tf
+(BZ2_bzWrite) 65.7558 Tj
+[1 0 0 1 449.906 554.62] cm
+0 g
+0 G
+[1 0 0 1 -449.906 -554.62] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+449.906 554.62 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-768 TJm
+(The) 15.4925 Tj
+-402 TJm
+(logical) 27.1193 Tj
+-403 TJm
+(end-of-) 29.3211 Tj
+72 542.665 Td
+(stream) 26.5614 Tj
+-352 TJm
+(mark) 20.474 Tj
+10 TJm
+(ers) 11.6169 Tj
+-352 TJm
+(are) 12.1648 Tj
+-352 TJm
+(also) 16.0504 Tj
+-352 TJm
+(written,) 30.7159 Tj
+-378 TJm
+(so) 8.85711 Tj
+-352 TJm
+(subsequent) 44.2756 Tj
+-352 TJm
+(calls) 18.2622 Tj
+-352 TJm
+(to) 7.75121 Tj
+[1 0 0 1 300.456 542.665] cm
+0 g
+0 G
+[1 0 0 1 -300.456 -542.665] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+300.456 542.665 Td
+/F130_0 9.963 Tf
+(BZ2_bzWrite) 65.7558 Tj
+[1 0 0 1 366.209 542.665] cm
+0 g
+0 G
+[1 0 0 1 -366.209 -542.665] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+369.718 542.665 Td
+/F128_0 9.963 Tf
+(are) 12.1648 Tj
+-352 TJm
+(ille) 12.7327 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(al.) 9.68404 Tj
+-1233 TJm
+(All) 12.7327 Tj
+-352 TJm
+(memory) 33.2067 Tj
+-353 TJm
+(ass) 12.1748 Tj
+1 TJm
+(ociated) 28.7731 Tj
+-353 TJm
+(wit) 12.7327 Tj
+1 TJm
+(h) 4.9815 Tj
+72 530.71 Td
+(the) 12.1748 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+[1 0 0 1 151.411 530.71] cm
+0 g
+0 G
+[1 0 0 1 -151.411 -530.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+151.411 530.71 Td
+/F130_0 9.963 Tf
+(b) 5.9778 Tj
+[1 0 0 1 157.389 530.71] cm
+0 g
+0 G
+[1 0 0 1 -157.389 -530.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+159.88 530.71 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(released.) 35.1295 Tj
+[1 0 0 1 207.231 530.71] cm
+0 g
+0 G
+[1 0 0 1 -207.231 -530.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+207.231 530.71 Td
+/F130_0 9.963 Tf
+(fflush) 35.8668 Tj
+[1 0 0 1 243.097 530.71] cm
+0 g
+0 G
+[1 0 0 1 -243.097 -530.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+245.587 530.71 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(called) 23.7916 Tj
+-250 TJm
+(on) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(\002l) 8.30914 Tj
+1 TJm
+(e,) 6.91432 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(not) 12.7327 Tj
+[1 0 0 1 422.771 530.71] cm
+0 g
+0 G
+[1 0 0 1 -422.771 -530.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+422.771 530.71 Td
+/F130_0 9.963 Tf
+(fclose) 35.8668 Tj
+[1 0 0 1 458.636 530.71] cm
+0 g
+0 G
+[1 0 0 1 -458.636 -530.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+458.636 530.71 Td
+/F128_0 9.963 Tf
+(') 3.31768 Tj
+50 TJm
+(d.) 7.47225 Tj
+[1 0 0 1 72 528.553] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -518.59] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 508.792 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+[1 0 0 1 81.574 508.792] cm
+0 g
+0 G
+[1 0 0 1 -81.574 -508.792] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+81.574 508.792 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteClose) 95.6448 Tj
+[1 0 0 1 177.216 508.792] cm
+0 g
+0 G
+[1 0 0 1 -177.216 -508.792] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+180.155 508.792 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-295 TJm
+(called) 23.7916 Tj
+-295 TJm
+(to) 7.75121 Tj
+-295 TJm
+(clean) 21.0219 Tj
+-295 TJm
+(up) 9.963 Tj
+-295 TJm
+(after) 18.2522 Tj
+-295 TJm
+(an) 9.40507 Tj
+-295 TJm
+(error) 19.3581 Tj
+40 TJm
+(,) 2.49075 Tj
+-306 TJm
+(the) 12.1748 Tj
+-295 TJm
+(only) 17.7142 Tj
+-295 TJm
+(action) 24.3496 Tj
+-295 TJm
+(is) 6.64532 Tj
+-295 TJm
+(to) 7.75121 Tj
+-295 TJm
+(relea) 19.3581 Tj
+1 TJm
+(se) 8.29918 Tj
+-295 TJm
+(the) 12.1748 Tj
+-295 TJm
+(memory) 33.2067 Tj
+65 TJm
+(.) 2.49075 Tj
+-890 TJm
+(The) 15.4925 Tj
+-295 TJm
+(library) 26.5614 Tj
+72 496.837 Td
+(records) 29.3211 Tj
+-289 TJm
+(the) 12.1748 Tj
+-289 TJm
+(error) 19.3581 Tj
+-289 TJm
+(codes) 22.6858 Tj
+-289 TJm
+(issued) 24.9075 Tj
+-289 TJm
+(by) 9.963 Tj
+-289 TJm
+(p) 4.9815 Tj
+1 TJm
+(re) 7.74125 Tj
+25 TJm
+(vious) 21.5898 Tj
+-289 TJm
+(calls,) 20.7529 Tj
+-299 TJm
+(so) 8.85711 Tj
+-289 TJm
+(this) 14.3965 Tj
+-289 TJm
+(situation) 34.3225 Tj
+-289 TJm
+(will) 15.5024 Tj
+-289 TJm
+(be) 9.40507 Tj
+-289 TJm
+(detecte) 28.2152 Tj
+1 TJm
+(d) 4.9815 Tj
+-289 TJm
+(automatically) 54.2386 Tj
+65 TJm
+(.) 2.49075 Tj
+-427 TJm
+(There) 23.2337 Tj
+-289 TJm
+(is) 6.64532 Tj
+-289 TJm
+(no) 9.963 Tj
+-289 TJm
+(attempt) 29.889 Tj
+72 484.882 Td
+(to) 7.75121 Tj
+-263 TJm
+(comple) 29.3311 Tj
+1 TJm
+(te) 7.19329 Tj
+-263 TJm
+(the) 12.1748 Tj
+-263 TJm
+(compression) 50.363 Tj
+-262 TJm
+(operation,) 40.121 Tj
+-266 TJm
+(nor) 13.2807 Tj
+-262 TJm
+(to) 7.75121 Tj
+[1 0 0 1 258.308 484.882] cm
+0 g
+0 G
+[1 0 0 1 -258.308 -484.882] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+258.308 484.882 Td
+/F130_0 9.963 Tf
+(fflush) 35.8668 Tj
+[1 0 0 1 294.173 484.882] cm
+0 g
+0 G
+[1 0 0 1 -294.173 -484.882] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+296.79 484.882 Td
+/F128_0 9.963 Tf
+(the) 12.1748 Tj
+-263 TJm
+(compres) 33.7546 Tj
+1 TJm
+(sed) 13.2807 Tj
+-263 TJm
+(\002le.) 15.2235 Tj
+-696 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-263 TJm
+(can) 13.8286 Tj
+-262 TJm
+(force) 20.464 Tj
+-263 TJm
+(this) 14.3965 Tj
+-262 TJm
+(beha) 18.8101 Tj
+20 TJm
+(viour) 21.0319 Tj
+-263 TJm
+(to) 7.75121 Tj
+-262 TJm
+(happen) 28.7731 Tj
+72 472.927 Td
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(case) 17.1463 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(no) 9.963 Tj
+-250 TJm
+(error) 19.3581 Tj
+40 TJm
+(,) 2.49075 Tj
+-250 TJm
+(by) 9.963 Tj
+-250 TJm
+(p) 4.9815 Tj
+1 TJm
+(assing) 24.9075 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(nonzero) 32.0908 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue) 16.5984 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 305.015 472.927] cm
+0 g
+0 G
+[1 0 0 1 -305.015 -472.927] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+305.015 472.927 Td
+/F130_0 9.963 Tf
+(abandon) 41.8446 Tj
+[1 0 0 1 346.858 472.927] cm
+0 g
+0 G
+[1 0 0 1 -346.858 -472.927] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+346.858 472.927 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 470.77] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -460.807] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 451.009 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+[1 0 0 1 80.597 451.009] cm
+0 g
+0 G
+[1 0 0 1 -80.597 -451.009] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+80.597 451.009 Td
+/F130_0 9.963 Tf
+(nbytes_in) 53.8002 Tj
+[1 0 0 1 134.396 451.009] cm
+0 g
+0 G
+[1 0 0 1 -134.396 -451.009] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+136.358 451.009 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-197 TJm
+(non-null,) 36.2554 Tj
+[1 0 0 1 183.287 451.009] cm
+0 g
+0 G
+[1 0 0 1 -183.287 -451.009] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+183.287 451.009 Td
+/F130_0 9.963 Tf
+(*nbytes_in) 59.778 Tj
+[1 0 0 1 243.063 451.009] cm
+0 g
+0 G
+[1 0 0 1 -243.063 -451.009] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+245.025 451.009 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-197 TJm
+(be) 9.40507 Tj
+-197 TJm
+(set) 11.0689 Tj
+-197 TJm
+(to) 7.75121 Tj
+-197 TJm
+(be) 9.40507 Tj
+-197 TJm
+(the) 12.1748 Tj
+-197 TJm
+(tot) 10.5209 Tj
+1 TJm
+(al) 7.19329 Tj
+-197 TJm
+(v) 4.9815 Tj
+20 TJm
+(olume) 24.9075 Tj
+-197 TJm
+(of) 8.29918 Tj
+-197 TJm
+(uncompressed) 56.9983 Tj
+-197 TJm
+(data) 16.5984 Tj
+-197 TJm
+(handled.) 34.0336 Tj
+-584 TJm
+(Similarly) 37.0922 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 72 439.054] cm
+0 g
+0 G
+[1 0 0 1 -72 -439.054] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 439.054 Td
+/F130_0 9.963 Tf
+(nbytes_out) 59.778 Tj
+[1 0 0 1 131.776 439.054] cm
+0 g
+0 G
+[1 0 0 1 -131.776 -439.054] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+134.716 439.054 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-295 TJm
+(be) 9.40507 Tj
+-295 TJm
+(set) 11.0689 Tj
+-295 TJm
+(to) 7.75121 Tj
+-295 TJm
+(the) 12.1748 Tj
+-295 TJm
+(total) 17.7142 Tj
+-295 TJm
+(v) 4.9815 Tj
+20 TJm
+(olume) 24.9075 Tj
+-295 TJm
+(of) 8.29918 Tj
+-295 TJm
+(compressed) 47.0353 Tj
+-295 TJm
+(data) 16.5984 Tj
+-295 TJm
+(written.) 30.7159 Tj
+-890 TJm
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-295 TJm
+(compatibility) 53.1426 Tj
+-295 TJm
+(with) 17.7142 Tj
+-295 TJm
+(older) 20.474 Tj
+-295 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-295 TJm
+(of) 8.29918 Tj
+72 427.098 Td
+(the) 12.1748 Tj
+-283 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 118.294 427.098] cm
+0 g
+0 G
+[1 0 0 1 -118.294 -427.098] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+118.294 427.098 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteClose) 95.6448 Tj
+[1 0 0 1 213.936 427.098] cm
+0 g
+0 G
+[1 0 0 1 -213.936 -427.098] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+216.753 427.098 Td
+/F128_0 9.963 Tf
+(only) 17.7142 Tj
+-283 TJm
+(yields) 23.8016 Tj
+-282 TJm
+(the) 12.1748 Tj
+-283 TJm
+(lo) 7.75121 Tj
+25 TJm
+(wer) 14.9345 Tj
+-283 TJm
+(32) 9.963 Tj
+-283 TJm
+(bits) 14.3965 Tj
+-282 TJm
+(of) 8.29918 Tj
+-283 TJm
+(these) 20.474 Tj
+-283 TJm
+(counts.) 28.5041 Tj
+-817 TJm
+(Use) 15.4925 Tj
+[1 0 0 1 423.499 427.098] cm
+0 g
+0 G
+[1 0 0 1 -423.499 -427.098] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+423.499 427.098 Td
+/F130_0 9.963 Tf
+(BZ2_bzWriteClose64) 107.6 Tj
+[1 0 0 1 531.095 427.098] cm
+0 g
+0 G
+[1 0 0 1 -531.095 -427.098] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+533.913 427.098 Td
+/F128_0 9.963 Tf
+(if) 6.08739 Tj
+72 415.143 Td
+(you) 14.9445 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(full) 13.8386 Tj
+-250 TJm
+(64) 9.963 Tj
+-250 TJm
+(bit) 10.5209 Tj
+-250 TJm
+(counts) 26.0134 Tj
+1 TJm
+(.) 2.49075 Tj
+-620 TJm
+(These) 23.7916 Tj
+-250 TJm
+(tw) 9.963 Tj
+10 TJm
+(o) 4.9815 Tj
+-250 TJm
+(functions) 37.0823 Tj
+-250 TJm
+(are) 12.1648 Tj
+-250 TJm
+(otherwise) 38.7361 Tj
+-250 TJm
+(absolutely) 40.9579 Tj
+-250 TJm
+(identic) 27.1193 Tj
+1 TJm
+(al.) 9.68404 Tj
+[1 0 0 1 72 412.986] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -403.024] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 393.225 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(assignments) 48.7091 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 169.144 393.225] cm
+0 g
+0 G
+[1 0 0 1 -169.144 -393.225] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+169.144 393.225 Td
+/F130_0 9.963 Tf
+(bzerror) 41.8446 Tj
+[1 0 0 1 210.987 393.225] cm
+0 g
+0 G
+[1 0 0 1 -210.987 -393.225] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.987 393.225 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 391.069] cm
+0 g
+0 G
+[1 0 0 1 0 -84.683] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 83.686 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 80.099] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -381.704] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 381.704 Td
+/F130_0 9.963 Tf
+(BZ_SEQUENCE_ERROR) 101.623 Tj
+98.488 369.749 Td
+(if) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(opened) 35.8668 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(BZ2) 17.9334 Tj
+1 TJm
+(_bzReadOpen) 65.7558 Tj
+90 357.793 Td
+(BZ_IO_ERROR) 65.7558 Tj
+98.488 345.838 Td
+(if) 11.9556 Tj
+-426 TJm
+(there) 29.889 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(an) 11.9556 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(wri) 17.9334 Tj
+1 TJm
+(ting) 23.9112 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(file) 23.9112 Tj
+90 333.883 Td
+(BZ_OK) 29.889 Tj
+98.488 321.928 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 306.386] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -296.423] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 275.765 Td
+/F121_0 17.215 Tf
+(3.4.8.) 43.0719 Tj
+-278 TJm
+(Handling) 73.6458 Tj
+-278 TJm
+(embed) 55.4839 Tj
+10 TJm
+(ded) 30.6083 Tj
+-278 TJm
+(compressed) 101.414 Tj
+-278 TJm
+(data) 35.394 Tj
+-278 TJm
+(streams) 66.0195 Tj
+[1 0 0 1 72 271.935] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -261.972] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 253.847 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-203 TJm
+(high-le) 28.2252 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-203 TJm
+(library) 26.5614 Tj
+-203 TJm
+(f) 3.31768 Tj
+10 TJm
+(acilitates) 35.4185 Tj
+-203 TJm
+(use) 13.2807 Tj
+-203 TJm
+(of) 8.29918 Tj
+[1 0 0 1 226.404 253.847] cm
+0 g
+0 G
+[1 0 0 1 -226.404 -253.847] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+226.404 253.847 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 256.292 253.847] cm
+0 g
+0 G
+[1 0 0 1 -256.292 -253.847] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+258.316 253.847 Td
+/F128_0 9.963 Tf
+(data) 16.5984 Tj
+-203 TJm
+(streams) 30.437 Tj
+-203 TJm
+(which) 24.3496 Tj
+-203 TJm
+(form) 19.3681 Tj
+-203 TJm
+(some) 21.0319 Tj
+-203 TJm
+(part) 15.4925 Tj
+-203 TJm
+(of) 8.29918 Tj
+-203 TJm
+(a) 4.42357 Tj
+-203 TJm
+(surrounding,) 50.6419 Tj
+-212 TJm
+(lar) 10.511 Tj
+18 TJm
+(ger) 12.7228 Tj
+-203 TJm
+(data) 16.5984 Tj
+-203 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 72 251.69] cm
+0 g
+0 G
+[1 0 0 1 0 -29.723] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -221.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 221.967 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 221.967] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -221.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 221.967 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-240 TJm
+(writing,) 31.2739 Tj
+-243 TJm
+(the) 12.1748 Tj
+-240 TJm
+(library) 26.5614 Tj
+-240 TJm
+(tak) 12.1748 Tj
+10 TJm
+(es) 8.29918 Tj
+-241 TJm
+(an) 9.40507 Tj
+-240 TJm
+(open) 19.3681 Tj
+-241 TJm
+(\002le) 12.7327 Tj
+-240 TJm
+(handle,) 29.0521 Tj
+-242 TJm
+(writes) 24.3496 Tj
+-241 TJm
+(compress) 37.6303 Tj
+1 TJm
+(ed) 9.40507 Tj
+-241 TJm
+(data) 16.5984 Tj
+-240 TJm
+(to) 7.75121 Tj
+-241 TJm
+(it,) 8.03018 Tj
+[1 0 0 1 398.926 221.967] cm
+0 g
+0 G
+[1 0 0 1 -398.926 -221.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+398.926 221.967 Td
+/F130_0 9.963 Tf
+(fflush) 35.8668 Tj
+[1 0 0 1 434.791 221.967] cm
+0 g
+0 G
+[1 0 0 1 -434.791 -221.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.791 221.967 Td
+/F128_0 9.963 Tf
+(es) 8.29918 Tj
+-240 TJm
+(it) 5.53943 Tj
+-241 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-240 TJm
+(does) 18.2622 Tj
+-241 TJm
+(not) 12.7327 Tj
+[1 0 0 1 504.135 221.967] cm
+0 g
+0 G
+[1 0 0 1 -504.135 -221.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+504.135 221.967 Td
+/F130_0 9.963 Tf
+(fclose) 35.8668 Tj
+[1 0 0 1 540 221.967] cm
+0 g
+0 G
+[1 0 0 1 -540 -221.967] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 210.012 Td
+/F128_0 9.963 Tf
+(it.) 8.03018 Tj
+-610 TJm
+(The) 15.4925 Tj
+-235 TJm
+(calling) 27.1193 Tj
+-235 TJm
+(application) 44.2756 Tj
+-234 TJm
+(can) 13.8286 Tj
+-235 TJm
+(write) 20.474 Tj
+-235 TJm
+(its) 9.41504 Tj
+-235 TJm
+(o) 4.9815 Tj
+25 TJm
+(wn) 12.1748 Tj
+-235 TJm
+(data) 16.5984 Tj
+-235 TJm
+(before) 25.4455 Tj
+-235 TJm
+(and) 14.3866 Tj
+-235 TJm
+(after) 18.2522 Tj
+-235 TJm
+(the) 12.1748 Tj
+-235 TJm
+(compressed) 47.0353 Tj
+-235 TJm
+(dat) 12.1748 Tj
+1 TJm
+(a) 4.42357 Tj
+-235 TJm
+(stream,) 29.0521 Tj
+-238 TJm
+(using) 21.5898 Tj
+-235 TJm
+(that) 14.9445 Tj
+-235 TJm
+(same) 20.474 Tj
+-235 TJm
+(\002le) 12.7327 Tj
+86.944 198.056 Td
+(handle.) 29.0521 Tj
+[1 0 0 1 115.995 198.056] cm
+0 g
+0 G
+[1 0 0 1 -43.995 -21.917] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -176.139] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 176.139 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 176.139] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -176.139] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 176.139 Td
+/F128_0 9.963 Tf
+(Reading) 33.2067 Tj
+-236 TJm
+(is) 6.64532 Tj
+-236 TJm
+(m) 7.75121 Tj
+1 TJm
+(ore) 12.7228 Tj
+-236 TJm
+(comple) 29.3311 Tj
+15 TJm
+(x,) 7.47225 Tj
+-239 TJm
+(and) 14.3866 Tj
+-236 TJm
+(the) 12.1748 Tj
+-235 TJm
+(f) 3.31768 Tj
+10 TJm
+(acilities) 30.9949 Tj
+-236 TJm
+(are) 12.1648 Tj
+-236 TJm
+(not) 12.7327 Tj
+-236 TJm
+(as) 8.29918 Tj
+-235 TJm
+(general) 29.3211 Tj
+-236 TJm
+(as) 8.29918 Tj
+-236 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-236 TJm
+(could) 22.1378 Tj
+-236 TJm
+(b) 4.9815 Tj
+1 TJm
+(e) 4.42357 Tj
+-236 TJm
+(since) 20.474 Tj
+-236 TJm
+(generality) 39.842 Tj
+-236 TJm
+(is) 6.64532 Tj
+-236 TJm
+(har) 12.7228 Tj
+1 TJm
+(d) 4.9815 Tj
+-236 TJm
+(to) 7.75121 Tj
+-236 TJm
+(reconcile) 36.5144 Tj
+86.944 164.183 Td
+(with) 17.7142 Tj
+-404 TJm
+(ef) 7.74125 Tj
+25 TJm
+(\002cienc) 26.5614 Tj
+15 TJm
+(y) 4.9815 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 164.811 164.183] cm
+0 g
+0 G
+[1 0 0 1 -164.811 -164.183] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+164.811 164.183 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 224.587 164.183] cm
+0 g
+0 G
+[1 0 0 1 -224.587 -164.183] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+228.614 164.183 Td
+/F128_0 9.963 Tf
+(reads) 21.0219 Tj
+-404 TJm
+(from) 19.3681 Tj
+-404 TJm
+(the) 12.1748 Tj
+-405 TJm
+(com) 17.1563 Tj
+1 TJm
+(pressed) 29.879 Tj
+-405 TJm
+(\002le) 12.7327 Tj
+-404 TJm
+(in) 7.75121 Tj
+-404 TJm
+(blocks) 26.0134 Tj
+-404 TJm
+(of) 8.29918 Tj
+-404 TJm
+(size) 15.4925 Tj
+[1 0 0 1 434.744 164.183] cm
+0 g
+0 G
+[1 0 0 1 -434.744 -164.183] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.744 164.183 Td
+/F130_0 9.963 Tf
+(BZ_MAX_UNUSED) 77.7114 Tj
+[1 0 0 1 512.452 164.183] cm
+0 g
+0 G
+[1 0 0 1 -512.452 -164.183] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+516.479 164.183 Td
+/F128_0 9.963 Tf
+(bytes,) 23.5226 Tj
+86.944 152.228 Td
+(and) 14.3866 Tj
+-413 TJm
+(in) 7.75121 Tj
+-413 TJm
+(doing) 22.6957 Tj
+-413 TJm
+(so) 8.85711 Tj
+-413 TJm
+(probably) 35.4185 Tj
+-413 TJm
+(wi) 9.963 Tj
+1 TJm
+(ll) 5.53943 Tj
+-413 TJm
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(ershoot) 29.3311 Tj
+-413 TJm
+(the) 12.1748 Tj
+-413 TJm
+(logical) 27.1193 Tj
+-413 TJm
+(end) 14.3866 Tj
+-413 TJm
+(of) 8.29918 Tj
+-413 TJm
+(compressed) 47.0353 Tj
+-413 TJm
+(stream.) 29.0521 Tj
+-1597 TJm
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-413 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-413 TJm
+(this) 14.3965 Tj
+-413 TJm
+(data) 16.5984 Tj
+-413 TJm
+(once) 18.8101 Tj
+86.944 140.273 Td
+(decompression) 59.768 Tj
+-252 TJm
+(has) 13.2807 Tj
+-252 TJm
+(ended,) 26.2824 Tj
+-252 TJm
+(call) 14.3866 Tj
+[1 0 0 1 210.705 140.273] cm
+0 g
+0 G
+[1 0 0 1 -210.705 -140.273] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.705 140.273 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadGetUnused) 113.578 Tj
+[1 0 0 1 324.279 140.273] cm
+0 g
+0 G
+[1 0 0 1 -324.279 -140.273] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+326.789 140.273 Td
+/F128_0 9.963 Tf
+(after) 18.2522 Tj
+-252 TJm
+(the) 12.1748 Tj
+-252 TJm
+(last) 13.8386 Tj
+-252 TJm
+(call) 14.3866 Tj
+-252 TJm
+(of) 8.29918 Tj
+[1 0 0 1 406.291 140.273] cm
+0 g
+0 G
+[1 0 0 1 -406.291 -140.273] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+406.291 140.273 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 466.067 140.273] cm
+0 g
+0 G
+[1 0 0 1 -466.067 -140.273] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+468.578 140.273 Td
+/F128_0 9.963 Tf
+(\(the) 15.4925 Tj
+-252 TJm
+(one) 14.3866 Tj
+-252 TJm
+(returning) 36.5244 Tj
+[1 0 0 1 86.944 128.318] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -128.318] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 128.318 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 164.653 128.318] cm
+0 g
+0 G
+[1 0 0 1 -164.653 -128.318] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+164.653 128.318 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(before) 25.4455 Tj
+-250 TJm
+(calling) 27.1193 Tj
+[1 0 0 1 243.028 128.318] cm
+0 g
+0 G
+[1 0 0 1 -243.028 -128.318] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+243.028 128.318 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadClose) 89.667 Tj
+[1 0 0 1 332.692 128.318] cm
+0 g
+0 G
+[1 0 0 1 -332.692 -128.318] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+332.692 128.318 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 335.182 128.318] cm
+0 g
+0 G
+[1 0 0 1 -263.182 -77.466] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.754] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.754] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.852] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.852 Td
+/F128_0 9.963 Tf
+(24) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 28 28
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-271 TJm
+(mechanism) 45.3815 Tj
+-271 TJm
+(mak) 17.1563 Tj
+10 TJm
+(es) 8.29918 Tj
+-272 TJm
+(i) 2.76971 Tj
+1 TJm
+(t) 2.76971 Tj
+-272 TJm
+(easy) 17.7043 Tj
+-271 TJm
+(to) 7.75121 Tj
+-271 TJm
+(decompress) 47.0353 Tj
+-271 TJm
+(multiple) 33.2166 Tj
+[1 0 0 1 293.313 710.037] cm
+0 g
+0 G
+[1 0 0 1 -293.313 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+293.313 710.037 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 323.2 710.037] cm
+0 g
+0 G
+[1 0 0 1 -323.2 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+325.903 710.037 Td
+/F128_0 9.963 Tf
+(streams) 30.437 Tj
+-271 TJm
+(placed) 26.0034 Tj
+-271 TJm
+(end-to-end.) 45.6505 Tj
+-374 TJm
+(As) 11.0689 Tj
+-271 TJm
+(the) 12.1748 Tj
+-272 TJm
+(end) 14.3866 Tj
+-271 TJm
+(of) 8.29918 Tj
+-271 TJm
+(one) 14.3866 Tj
+-271 TJm
+(stream,) 29.0521 Tj
+72 698.082 Td
+(when) 21.5799 Tj
+[1 0 0 1 96.195 698.082] cm
+0 g
+0 G
+[1 0 0 1 -96.195 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+96.195 698.082 Td
+/F130_0 9.963 Tf
+(BZ2_bzRead) 59.778 Tj
+[1 0 0 1 155.971 698.082] cm
+0 g
+0 G
+[1 0 0 1 -155.971 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+158.586 698.082 Td
+/F128_0 9.963 Tf
+(returns) 27.6673 Tj
+[1 0 0 1 188.868 698.082] cm
+0 g
+0 G
+[1 0 0 1 -188.868 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+188.868 698.082 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 266.577 698.082] cm
+0 g
+0 G
+[1 0 0 1 -266.577 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+266.577 698.082 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-263 TJm
+(c) 4.42357 Tj
+1 TJm
+(all) 9.963 Tj
+[1 0 0 1 288.685 698.082] cm
+0 g
+0 G
+[1 0 0 1 -288.685 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+288.685 698.082 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadGetUnused) 113.578 Tj
+[1 0 0 1 402.259 698.082] cm
+0 g
+0 G
+[1 0 0 1 -402.259 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+404.875 698.082 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-262 TJm
+(collect) 26.5614 Tj
+-263 TJm
+(the) 12.1748 Tj
+-262 TJm
+(unused) 28.2252 Tj
+-263 TJm
+(data) 16.5984 Tj
+-262 TJm
+(\(cop) 17.7043 Tj
+10 TJm
+(y) 4.9815 Tj
+-263 TJm
+(it) 5.53943 Tj
+72 686.127 Td
+(into) 15.5024 Tj
+-265 TJm
+(your) 18.2622 Tj
+-265 TJm
+(o) 4.9815 Tj
+25 TJm
+(wn) 12.1748 Tj
+-265 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-265 TJm
+(some) 21.0319 Tj
+25 TJm
+(where\).) 30.148 Tj
+-710 TJm
+(That) 18.2622 Tj
+-265 TJm
+(data) 16.5984 Tj
+-265 TJm
+(forms) 23.2437 Tj
+-265 TJm
+(the) 12.1748 Tj
+-265 TJm
+(start) 17.1563 Tj
+-265 TJm
+(of) 8.29918 Tj
+-265 TJm
+(the) 12.1748 Tj
+-265 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-265 TJm
+(compressed) 47.0353 Tj
+-265 TJm
+(stream.) 29.0521 Tj
+-710 TJm
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-265 TJm
+(start) 17.1563 Tj
+-265 TJm
+(uncompressing) 60.326 Tj
+72 674.172 Td
+(that) 14.9445 Tj
+-246 TJm
+(ne) 9.40507 Tj
+15 TJm
+(xt) 7.75121 Tj
+-246 TJm
+(stream,) 29.0521 Tj
+-247 TJm
+(call) 14.3866 Tj
+[1 0 0 1 157.205 674.172] cm
+0 g
+0 G
+[1 0 0 1 -157.205 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+157.205 674.172 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadOpen) 83.6892 Tj
+[1 0 0 1 240.891 674.172] cm
+0 g
+0 G
+[1 0 0 1 -240.891 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+243.344 674.172 Td
+/F128_0 9.963 Tf
+(ag) 9.40507 Tj
+5 TJm
+(ain,) 14.6655 Tj
+-247 TJm
+(feeding) 29.879 Tj
+-246 TJm
+(in) 7.75121 Tj
+-246 TJm
+(the) 12.1748 Tj
+-246 TJm
+(unused) 28.2252 Tj
+-246 TJm
+(data) 16.5984 Tj
+-246 TJm
+(via) 12.1748 Tj
+-247 TJm
+(the) 12.1748 Tj
+[1 0 0 1 405.967 674.172] cm
+0 g
+0 G
+[1 0 0 1 -405.967 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+405.967 674.172 Td
+/F130_0 9.963 Tf
+(unused) 35.8668 Tj
+[1 0 0 1 441.833 674.172] cm
+0 g
+0 G
+[1 0 0 1 -441.833 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+444.286 674.172 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 449.508 674.172] cm
+0 g
+0 G
+[1 0 0 1 -449.508 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+449.508 674.172 Td
+/F130_0 9.963 Tf
+(nUnused) 41.8446 Tj
+[1 0 0 1 491.351 674.172] cm
+0 g
+0 G
+[1 0 0 1 -491.351 -674.172] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+493.804 674.172 Td
+/F128_0 9.963 Tf
+(parameters.) 46.1984 Tj
+72 662.217 Td
+(K) 7.19329 Tj
+25 TJm
+(eep) 13.8286 Tj
+-263 TJm
+(doing) 22.6957 Tj
+-263 TJm
+(this) 14.3965 Tj
+-263 TJm
+(until) 18.2721 Tj
+[1 0 0 1 158.622 662.217] cm
+0 g
+0 G
+[1 0 0 1 -158.622 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+158.622 662.217 Td
+/F130_0 9.963 Tf
+(BZ_STREAM_END) 77.7114 Tj
+[1 0 0 1 236.33 662.217] cm
+0 g
+0 G
+[1 0 0 1 -236.33 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+238.952 662.217 Td
+/F128_0 9.963 Tf
+(return) 23.7916 Tj
+-263 TJm
+(coincides) 37.6303 Tj
+-263 TJm
+(with) 17.7142 Tj
+-263 TJm
+(the) 12.1748 Tj
+-263 TJm
+(ph) 9.963 Tj
+5 TJm
+(ysical) 23.2437 Tj
+-263 TJm
+(end) 14.3866 Tj
+-263 TJm
+(of) 8.29918 Tj
+-264 TJm
+(\002le) 12.7327 Tj
+-263 TJm
+(\() 3.31768 Tj
+[1 0 0 1 423.125 662.217] cm
+0 g
+0 G
+[1 0 0 1 -423.125 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+423.125 662.217 Td
+/F130_0 9.963 Tf
+(feof\(f\)) 41.8446 Tj
+[1 0 0 1 464.968 662.217] cm
+0 g
+0 G
+[1 0 0 1 -464.968 -662.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+464.968 662.217 Td
+/F128_0 9.963 Tf
+(\).) 5.80843 Tj
+-699 TJm
+(In) 8.29918 Tj
+-263 TJm
+(this) 14.3965 Tj
+-263 TJm
+(situation) 34.3225 Tj
+[1 0 0 1 72 650.262] cm
+0 g
+0 G
+[1 0 0 1 -72 -650.262] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 650.262 Td
+/F130_0 9.963 Tf
+(BZ2_bzReadGetUnused) 113.578 Tj
+[1 0 0 1 185.574 650.262] cm
+0 g
+0 G
+[1 0 0 1 -185.574 -650.262] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+188.065 650.262 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(course) 26.0034 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(no) 9.963 Tj
+-250 TJm
+(data) 16.5984 Tj
+1 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 649.096] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -639.133] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 628.344 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-240 TJm
+(should) 26.5713 Tj
+-241 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-240 TJm
+(some) 21.0319 Tj
+-240 TJm
+(feel) 14.9345 Tj
+-241 TJm
+(for) 11.6169 Tj
+-240 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-240 TJm
+(the) 12.1748 Tj
+-241 TJm
+(high-le) 28.2252 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-240 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace) 13.2707 Tj
+-240 TJm
+(can) 13.8286 Tj
+-241 TJm
+(be) 9.40507 Tj
+-240 TJm
+(used.) 20.7529 Tj
+-614 TJm
+(If) 6.63536 Tj
+-240 TJm
+(you) 14.9445 Tj
+-240 TJm
+(require) 28.2152 Tj
+-241 TJm
+(e) 4.42357 Tj
+15 TJm
+(xtra) 15.4925 Tj
+-240 TJm
+(\003e) 9.963 Tj
+15 TJm
+(xibility) 28.7931 Tj
+65 TJm
+(,) 2.49075 Tj
+-242 TJm
+(you') 18.2622 Tj
+10 TJm
+(ll) 5.53943 Tj
+-241 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-240 TJm
+(to) 7.75121 Tj
+72 616.389 Td
+(bite) 14.9445 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ullet) 17.7142 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(get) 12.1748 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(grip) 16.0504 Tj
+1 TJm
+(s) 3.87561 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace.) 15.7615 Tj
+[1 0 0 1 72 614.232] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -604.269] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 585.767 Td
+/F121_0 17.215 Tf
+(3.4.9.) 43.0719 Tj
+-278 TJm
+(Standar) 64.0914 Tj
+20 TJm
+(d) 10.5184 Tj
+-278 TJm
+(\002le-reading/writing) 154.005 Tj
+-278 TJm
+(code) 40.1798 Tj
+[1 0 0 1 72 581.937] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -571.974] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 563.85 Td
+/F128_0 9.963 Tf
+(Here') 22.6758 Tj
+55 TJm
+(s) 3.87561 Tj
+-250 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(you') 18.2622 Tj
+50 TJm
+(d) 4.9815 Tj
+-250 TJm
+(write) 20.474 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(to) 7.75121 Tj
+-249 TJm
+(a) 4.42357 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-250 TJm
+(\002le:) 15.5024 Tj
+[1 0 0 1 72 561.693] cm
+0 g
+0 G
+[1 0 0 1 0 -371.607] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 370.61 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 367.023] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -552.328] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 552.328 Td
+/F130_0 9.963 Tf
+(FILE*) 29.889 Tj
+-1278 TJm
+(f;) 11.9556 Tj
+90 540.373 Td
+(BZFILE*) 41.8446 Tj
+-426 TJm
+(b;) 11.9556 Tj
+90 528.418 Td
+(int) 17.9334 Tj
+-2130 TJm
+(nBuf;) 29.889 Tj
+90 516.462 Td
+(char) 23.9112 Tj
+-1704 TJm
+(buf[) 23.9112 Tj
+-426 TJm
+(/*) 11.9556 Tj
+-426 TJm
+(whatever) 47.8224 Tj
+-425 TJm
+(size) 23.9112 Tj
+-426 TJm
+(you) 17.9334 Tj
+-426 TJm
+(like) 23.9112 Tj
+-426 TJm
+(*/) 11.9556 Tj
+-426 TJm
+(];) 11.9556 Tj
+90 504.507 Td
+(int) 17.9334 Tj
+-2130 TJm
+(bzerror;) 47.8224 Tj
+90 492.552 Td
+(int) 17.9334 Tj
+-2130 TJm
+(nWritten;) 53.8002 Tj
+90 468.642 Td
+(f) 5.9778 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(fopen) 29.889 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+("myfile.bz2") 71.7336 Tj
+1 TJm
+(,) 5.9778 Tj
+-426 TJm
+("w") 17.9334 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 456.687 Td
+(if) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(!f) 11.9556 Tj
+-426 TJm
+(\)) 5.9778 Tj
+-426 TJm
+({) 5.9778 Tj
+94.244 444.731 Td
+(/*) 11.9556 Tj
+-426 TJm
+(handle) 35.8668 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(*/) 11.9556 Tj
+90 432.776 Td
+(}) 5.9778 Tj
+90 420.821 Td
+(b) 5.9778 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ2_bzWriteOpen\() 95.6448 Tj
+-426 TJm
+(&bze) 23.9112 Tj
+1 TJm
+(rror,) 29.889 Tj
+-426 TJm
+(f,) 11.9556 Tj
+-426 TJm
+(9) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 408.866 Td
+(if) 11.9556 Tj
+-426 TJm
+(\(bzerror) 47.8224 Tj
+-426 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(BZ_OK\)) 35.8668 Tj
+-426 TJm
+({) 5.9778 Tj
+94.244 396.911 Td
+(BZ2_bzWriteClose) 95.6448 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+94.244 384.955 Td
+(/*) 11.9556 Tj
+-426 TJm
+(handle) 35.8668 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(*/) 11.9556 Tj
+90 373 Td
+(}) 5.9778 Tj
+90 349.09 Td
+(while) 29.889 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(/*) 11.9556 Tj
+-426 TJm
+(condition) 53.8002 Tj
+-426 TJm
+(*/) 11.9556 Tj
+-425 TJm
+(\)) 5.9778 Tj
+-426 TJm
+({) 5.9778 Tj
+94.244 337.135 Td
+(/*) 11.9556 Tj
+-426 TJm
+(get) 17.9334 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(to) 11.9556 Tj
+-426 TJm
+(write) 29.889 Tj
+-426 TJm
+(int) 17.9334 Tj
+1 TJm
+(o) 5.9778 Tj
+-426 TJm
+(buf,) 23.9112 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(set) 17.9334 Tj
+-426 TJm
+(nBuf) 23.9112 Tj
+-426 TJm
+(appropriately) 77.7114 Tj
+-426 TJm
+(*/) 11.9556 Tj
+94.244 325.18 Td
+(nWritten) 47.8224 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ2_bzWrite) 65.7558 Tj
+-426 TJm
+(\() 5.9778 Tj
+-425 TJm
+(&bzerror,) 53.8002 Tj
+-426 TJm
+(b,) 11.9556 Tj
+-426 TJm
+(buf,) 23.9112 Tj
+-426 TJm
+(nBuf) 23.9112 Tj
+-426 TJm
+(\);) 11.9556 Tj
+94.244 313.224 Td
+(if) 11.9556 Tj
+-426 TJm
+(\(bzerror) 47.8224 Tj
+-426 TJm
+(==) 11.9556 Tj
+-426 TJm
+(BZ_IO_ERRO) 59.778 Tj
+1 TJm
+(R\)) 11.9556 Tj
+-426 TJm
+({) 5.9778 Tj
+102.732 301.269 Td
+(BZ2_bzWriteClose) 95.6448 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(&bzerr) 35.8668 Tj
+1 TJm
+(or,) 17.9334 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+102.732 289.314 Td
+(/*) 11.9556 Tj
+-426 TJm
+(handle) 35.8668 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(*/) 11.9556 Tj
+94.244 277.359 Td
+(}) 5.9778 Tj
+90 265.404 Td
+(}) 5.9778 Tj
+90 241.493 Td
+(BZ2_bzWriteClose\() 101.623 Tj
+-426 TJm
+(&bzerro) 41.8446 Tj
+1 TJm
+(r,) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 229.538 Td
+(if) 11.9556 Tj
+-426 TJm
+(\(bzerror) 47.8224 Tj
+-426 TJm
+(==) 11.9556 Tj
+-426 TJm
+(BZ_IO_ERRO) 59.778 Tj
+1 TJm
+(R\)) 11.9556 Tj
+-426 TJm
+({) 5.9778 Tj
+94.244 217.583 Td
+(/*) 11.9556 Tj
+-426 TJm
+(handle) 35.8668 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(*/) 11.9556 Tj
+90 205.628 Td
+(}) 5.9778 Tj
+[1 0 0 1 72 190.086] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -180.124] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 168.168 Td
+/F128_0 9.963 Tf
+(And) 17.1563 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(read) 17.1463 Tj
+-250 TJm
+(from) 19.3681 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(compresse) 42.0538 Tj
+1 TJm
+(d) 4.9815 Tj
+-250 TJm
+(\002le:) 15.5024 Tj
+[1 0 0 1 72 166.012] cm
+0 g
+0 G
+[1 0 0 1 0 -115.16] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(25) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 29 29
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -392.164] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 370.61 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 367.024] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(FILE*) 29.889 Tj
+-1278 TJm
+(f;) 11.9556 Tj
+90 699.676 Td
+(BZFILE*) 41.8446 Tj
+-426 TJm
+(b;) 11.9556 Tj
+90 687.721 Td
+(int) 17.9334 Tj
+-2130 TJm
+(nBuf;) 29.889 Tj
+90 675.766 Td
+(char) 23.9112 Tj
+-1704 TJm
+(buf[) 23.9112 Tj
+-426 TJm
+(/*) 11.9556 Tj
+-426 TJm
+(whatever) 47.8224 Tj
+-425 TJm
+(size) 23.9112 Tj
+-426 TJm
+(you) 17.9334 Tj
+-426 TJm
+(like) 23.9112 Tj
+-426 TJm
+(*/) 11.9556 Tj
+-426 TJm
+(];) 11.9556 Tj
+90 663.811 Td
+(int) 17.9334 Tj
+-2130 TJm
+(bzerror;) 47.8224 Tj
+90 651.856 Td
+(int) 17.9334 Tj
+-2130 TJm
+(nWritten;) 53.8002 Tj
+90 627.945 Td
+(f) 5.9778 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(fopen) 29.889 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+("myfile.bz2") 71.7336 Tj
+1 TJm
+(,) 5.9778 Tj
+-426 TJm
+("r") 17.9334 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 615.99 Td
+(if) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(!f) 11.9556 Tj
+-426 TJm
+(\)) 5.9778 Tj
+-426 TJm
+({) 5.9778 Tj
+98.488 604.035 Td
+(/*) 11.9556 Tj
+-426 TJm
+(handle) 35.8668 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(*/) 11.9556 Tj
+90 592.08 Td
+(}) 5.9778 Tj
+90 580.125 Td
+(b) 5.9778 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ2_bzReadOpen) 83.6892 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(&bz) 17.9334 Tj
+1 TJm
+(error,) 35.8668 Tj
+-426 TJm
+(f,) 11.9556 Tj
+-426 TJm
+(0,) 11.9556 Tj
+-426 TJm
+(NULL,) 29.889 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 568.169 Td
+(if) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+-426 TJm
+(\)) 5.9778 Tj
+-425 TJm
+({) 5.9778 Tj
+98.488 556.214 Td
+(BZ2_bzReadClose) 89.667 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(&bzerro) 41.8446 Tj
+1 TJm
+(r,) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+98.488 544.259 Td
+(/*) 11.9556 Tj
+-426 TJm
+(handle) 35.8668 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(*/) 11.9556 Tj
+90 532.304 Td
+(}) 5.9778 Tj
+90 508.393 Td
+(bzerror) 41.8446 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ_OK;) 35.8668 Tj
+90 496.438 Td
+(while) 29.889 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(==) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+-425 TJm
+(&&) 11.9556 Tj
+-426 TJm
+(/*) 11.9556 Tj
+-426 TJm
+(arbitrary) 53.8002 Tj
+-426 TJm
+(other) 29.889 Tj
+-426 TJm
+(conditions) 59.778 Tj
+-426 TJm
+(*/\)) 17.9334 Tj
+-426 TJm
+({) 5.9778 Tj
+98.488 484.483 Td
+(nBuf) 23.9112 Tj
+-426 TJm
+(=) 5.9778 Tj
+-426 TJm
+(BZ2_bzRead) 59.778 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(&bze) 23.9112 Tj
+1 TJm
+(rror,) 29.889 Tj
+-426 TJm
+(b,) 11.9556 Tj
+-426 TJm
+(buf,) 23.9112 Tj
+-426 TJm
+(/*) 11.9556 Tj
+-426 TJm
+(size) 23.9112 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(buf) 17.9334 Tj
+-426 TJm
+(*/) 11.9556 Tj
+-426 TJm
+(\);) 11.9556 Tj
+98.488 472.528 Td
+(if) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(==) 11.9556 Tj
+-426 TJm
+(BZ_OK) 29.889 Tj
+-426 TJm
+(\)) 5.9778 Tj
+-425 TJm
+({) 5.9778 Tj
+106.976 460.573 Td
+(/*) 11.9556 Tj
+-426 TJm
+(do) 11.9556 Tj
+-426 TJm
+(something) 53.8002 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(buf) 17.9334 Tj
+1 TJm
+([0) 11.9556 Tj
+-426 TJm
+(..) 11.9556 Tj
+-426 TJm
+(nBuf-1]) 41.8446 Tj
+-426 TJm
+(*/) 11.9556 Tj
+98.488 448.618 Td
+(}) 5.9778 Tj
+90 436.662 Td
+(}) 5.9778 Tj
+90 424.707 Td
+(if) 11.9556 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(bzerror) 41.8446 Tj
+-426 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(BZ_STREAM) 53.8002 Tj
+1 TJm
+(_END) 23.9112 Tj
+-426 TJm
+(\)) 5.9778 Tj
+-426 TJm
+({) 5.9778 Tj
+102.732 412.752 Td
+(BZ2_bzReadClose) 89.667 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(&bzerro) 41.8446 Tj
+1 TJm
+(r,) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+102.732 400.797 Td
+(/*) 11.9556 Tj
+-426 TJm
+(handle) 35.8668 Tj
+-426 TJm
+(error) 29.889 Tj
+-426 TJm
+(*/) 11.9556 Tj
+90 388.842 Td
+(}) 5.9778 Tj
+-426 TJm
+(else) 23.9112 Tj
+-426 TJm
+({) 5.9778 Tj
+102.732 376.887 Td
+(BZ2_bzReadClose) 89.667 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(&bzerro) 41.8446 Tj
+1 TJm
+(r) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 364.931 Td
+(}) 5.9778 Tj
+[1 0 0 1 72 349.39] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -339.427] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 314.637 Td
+/F121_0 20.659 Tf
+(3.5.) 34.4592 Tj
+-278 TJm
+(Utility) 57.3907 Tj
+-278 TJm
+(functions) 92.9655 Tj
+[1 0 0 1 72 310.361] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -300.398] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 284.016 Td
+/F121_0 17.215 Tf
+(3.5.1.) 43.0719 Tj
+[1 0 0 1 119.858 284.016] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -284.016] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 284.016 Td
+/F387_0 17.215 Tf
+(BZ2_bzBuffToBuffCompress) 247.896 Tj
+[1 0 0 1 367.76 284.016] cm
+0 g
+0 G
+[1 0 0 1 -295.76 -2.333] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -96.638] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 95.641 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 92.055] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -272.318] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 272.318 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzBuffToBuffCompr) 125.534 Tj
+1 TJm
+(ess\() 23.9112 Tj
+-426 TJm
+(char*) 29.889 Tj
+-3834 TJm
+(dest,) 29.889 Tj
+217.319 260.363 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(destLen,) 47.8224 Tj
+217.319 248.408 Td
+(char*) 29.889 Tj
+-3834 TJm
+(source,) 41.8446 Tj
+217.319 236.453 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-852 TJm
+(sourceLen,) 59.778 Tj
+217.319 224.498 Td
+(int) 17.9334 Tj
+-4686 TJm
+(blockSize) 53.8002 Tj
+1 TJm
+(100k,) 29.889 Tj
+217.319 212.542 Td
+(int) 17.9334 Tj
+-4686 TJm
+(verbosity) 53.8002 Tj
+1 TJm
+(,) 5.9778 Tj
+217.319 200.587 Td
+(int) 17.9334 Tj
+-4686 TJm
+(workFacto) 53.8002 Tj
+1 TJm
+(r) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 185.045] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -175.083] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 163.128 Td
+/F128_0 9.963 Tf
+(Attempts) 36.5343 Tj
+-442 TJm
+(to) 7.75121 Tj
+-442 TJm
+(compress) 37.6303 Tj
+-442 TJm
+(the) 12.1748 Tj
+-442 TJm
+(data) 16.5984 Tj
+-443 TJm
+(in) 7.75121 Tj
+[1 0 0 1 216.87 163.128] cm
+0 g
+0 G
+[1 0 0 1 -216.87 -163.128] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+216.87 163.128 Td
+/F130_0 9.963 Tf
+(source[0) 47.8224 Tj
+-600 TJm
+(..) 11.9556 Tj
+-1200 TJm
+(sourceLen-1]) 71.7336 Tj
+[1 0 0 1 366.309 163.128] cm
+0 g
+0 G
+[1 0 0 1 -366.309 -163.128] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+370.715 163.128 Td
+/F128_0 9.963 Tf
+(into) 15.5024 Tj
+-442 TJm
+(the) 12.1748 Tj
+-442 TJm
+(destination) 43.7276 Tj
+-442 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+40 TJm
+(,) 2.49075 Tj
+[1 0 0 1 486.202 163.128] cm
+0 g
+0 G
+[1 0 0 1 -486.202 -163.128] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+486.202 163.128 Td
+/F130_0 9.963 Tf
+(dest[0) 35.8668 Tj
+-600 TJm
+(..) 11.9556 Tj
+72 151.173 Td
+(*destLen-1]) 65.7558 Tj
+[1 0 0 1 137.753 151.173] cm
+0 g
+0 G
+[1 0 0 1 -137.753 -151.173] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+137.753 151.173 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1393 TJm
+(If) 6.63536 Tj
+-379 TJm
+(the) 12.1748 Tj
+-379 TJm
+(destinat) 30.9949 Tj
+1 TJm
+(ion) 12.7327 Tj
+-379 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-379 TJm
+(is) 6.64532 Tj
+-379 TJm
+(big) 12.7327 Tj
+-379 TJm
+(enoug) 24.3496 Tj
+1 TJm
+(h,) 7.47225 Tj
+[1 0 0 1 318.487 151.173] cm
+0 g
+0 G
+[1 0 0 1 -318.487 -151.173] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+318.487 151.173 Td
+/F130_0 9.963 Tf
+(*destLen) 47.8224 Tj
+[1 0 0 1 366.307 151.173] cm
+0 g
+0 G
+[1 0 0 1 -366.307 -151.173] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+370.082 151.173 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-379 TJm
+(set) 11.0689 Tj
+-379 TJm
+(t) 2.76971 Tj
+1 TJm
+(o) 4.9815 Tj
+-379 TJm
+(the) 12.1748 Tj
+-379 TJm
+(size) 15.4925 Tj
+-379 TJm
+(of) 8.29918 Tj
+-379 TJm
+(the) 12.1748 Tj
+-378 TJm
+(compressed) 47.0353 Tj
+-379 TJm
+(data,) 19.0891 Tj
+72 139.217 Td
+(and) 14.3866 Tj
+[1 0 0 1 89.527 139.217] cm
+0 g
+0 G
+[1 0 0 1 -89.527 -139.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+89.527 139.217 Td
+/F130_0 9.963 Tf
+(BZ_OK) 29.889 Tj
+[1 0 0 1 119.415 139.217] cm
+0 g
+0 G
+[1 0 0 1 -119.415 -139.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+122.556 139.217 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-315 TJm
+(returned.) 35.6875 Tj
+-1012 TJm
+(If) 6.63536 Tj
+-315 TJm
+(the) 12.1748 Tj
+-315 TJm
+(compressed) 47.0353 Tj
+-316 TJm
+(da) 9.40507 Tj
+1 TJm
+(ta) 7.19329 Tj
+-316 TJm
+(w) 7.19329 Tj
+10 TJm
+(on') 13.2807 Tj
+18 TJm
+(t) 2.76971 Tj
+-315 TJm
+(\002t,) 10.7999 Tj
+[1 0 0 1 313.323 139.217] cm
+0 g
+0 G
+[1 0 0 1 -313.323 -139.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+313.323 139.217 Td
+/F130_0 9.963 Tf
+(*destLen) 47.8224 Tj
+[1 0 0 1 361.143 139.217] cm
+0 g
+0 G
+[1 0 0 1 -361.143 -139.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+364.285 139.217 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-315 TJm
+(unchanged,) 45.6505 Tj
+-332 TJm
+(and) 14.3866 Tj
+[1 0 0 1 440.551 139.217] cm
+0 g
+0 G
+[1 0 0 1 -440.551 -139.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+440.551 139.217 Td
+/F130_0 9.963 Tf
+(BZ_OUTBUFF_FULL) 89.667 Tj
+[1 0 0 1 530.214 139.217] cm
+0 g
+0 G
+[1 0 0 1 -530.214 -139.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+533.355 139.217 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+72 127.262 Td
+(returned.) 35.6875 Tj
+[1 0 0 1 72 127.163] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -117.2] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 105.344 Td
+/F128_0 9.963 Tf
+(Compression) 52.5847 Tj
+-297 TJm
+(in) 7.75121 Tj
+-297 TJm
+(this) 14.3965 Tj
+-297 TJm
+(manner) 29.879 Tj
+-297 TJm
+(is) 6.64532 Tj
+-297 TJm
+(a) 4.42357 Tj
+-297 TJm
+(one-shot) 34.3126 Tj
+-297 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ent,) 14.6655 Tj
+-308 TJm
+(done) 19.3681 Tj
+-297 TJm
+(with) 17.7142 Tj
+-297 TJm
+(a) 4.42357 Tj
+-297 TJm
+(single) 23.8016 Tj
+-297 TJm
+(call) 14.3866 Tj
+-297 TJm
+(to) 7.75121 Tj
+-297 TJm
+(this) 14.3965 Tj
+-297 TJm
+(function.) 35.6974 Tj
+-902 TJm
+(The) 15.4925 Tj
+-297 TJm
+(resulting) 34.8705 Tj
+-297 TJm
+(compressed) 47.0353 Tj
+72 93.389 Td
+(data) 16.5984 Tj
+-296 TJm
+(is) 6.64532 Tj
+-296 TJm
+(a) 4.42357 Tj
+-296 TJm
+(complete) 36.5244 Tj
+[1 0 0 1 147.987 93.389] cm
+0 g
+0 G
+[1 0 0 1 -147.987 -93.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+147.987 93.389 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 177.875 93.389] cm
+0 g
+0 G
+[1 0 0 1 -177.875 -93.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+180.825 93.389 Td
+/F128_0 9.963 Tf
+(format) 26.5614 Tj
+-296 TJm
+(data) 16.5984 Tj
+-296 TJm
+(stream.) 29.0521 Tj
+-896 TJm
+(There) 23.2337 Tj
+-296 TJm
+(is) 6.64532 Tj
+-296 TJm
+(no) 9.963 Tj
+-296 TJm
+(mechanism) 45.3815 Tj
+-296 TJm
+(for) 11.6169 Tj
+-296 TJm
+(making) 29.889 Tj
+-296 TJm
+(additional) 39.852 Tj
+-296 TJm
+(calls) 18.2622 Tj
+-296 TJm
+(to) 7.75121 Tj
+-296 TJm
+(pro) 13.2807 Tj
+15 TJm
+(vide) 17.1563 Tj
+-296 TJm
+(e) 4.42357 Tj
+15 TJm
+(xtra) 15.4925 Tj
+72 81.434 Td
+(input) 20.4839 Tj
+-250 TJm
+(data.) 19.0891 Tj
+-620 TJm
+(If) 6.63536 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(k) 4.9815 Tj
+1 TJm
+(ind) 12.7327 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(mechanism,) 47.8722 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(lo) 7.75121 Tj
+25 TJm
+(w-le) 17.7043 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(el) 7.19329 Tj
+-250 TJm
+(interf) 21.5799 Tj
+10 TJm
+(ace.) 15.7615 Tj
+[1 0 0 1 72 79.277] cm
+0 g
+0 G
+[1 0 0 1 0 -28.425] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(26) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 30 30
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-223 TJm
+(the) 12.1748 Tj
+-224 TJm
+(meaning) 34.3126 Tj
+-223 TJm
+(of) 8.29918 Tj
+-223 TJm
+(parameters) 43.7077 Tj
+[1 0 0 1 195.306 710.037] cm
+0 g
+0 G
+[1 0 0 1 -195.306 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+195.306 710.037 Td
+/F130_0 9.963 Tf
+(blockSize100k) 77.7114 Tj
+[1 0 0 1 273.015 710.037] cm
+0 g
+0 G
+[1 0 0 1 -273.015 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+273.015 710.037 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 277.784 710.037] cm
+0 g
+0 G
+[1 0 0 1 -277.784 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+277.784 710.037 Td
+/F130_0 9.963 Tf
+(verbosity) 53.8002 Tj
+[1 0 0 1 331.583 710.037] cm
+0 g
+0 G
+[1 0 0 1 -331.583 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+333.808 710.037 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 350.42 710.037] cm
+0 g
+0 G
+[1 0 0 1 -350.42 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+350.42 710.037 Td
+/F130_0 9.963 Tf
+(workFactor) 59.778 Tj
+[1 0 0 1 410.196 710.037] cm
+0 g
+0 G
+[1 0 0 1 -410.196 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+410.196 710.037 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-229 TJm
+(see) 12.7228 Tj
+[1 0 0 1 429.913 710.037] cm
+0 g
+0 G
+[1 0 0 1 -429.913 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+429.913 710.037 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 537.509 710.037] cm
+0 g
+0 G
+[1 0 0 1 -537.509 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+537.509 710.037 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 707.881] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -697.918] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 688.12 Td
+/F128_0 9.963 Tf
+(T) 6.08739 Tj
+80 TJm
+(o) 4.9815 Tj
+-410 TJm
+(guarantee) 38.7262 Tj
+-410 TJm
+(that) 14.9445 Tj
+-410 TJm
+(the) 12.1748 Tj
+-410 TJm
+(compressed) 47.0353 Tj
+-410 TJm
+(data) 16.5984 Tj
+-410 TJm
+(will) 15.5024 Tj
+-410 TJm
+(\002) 5.53943 Tj
+1 TJm
+(t) 2.76971 Tj
+-411 TJm
+(i) 2.76971 Tj
+1 TJm
+(n) 4.9815 Tj
+-411 TJm
+(i) 2.76971 Tj
+1 TJm
+(ts) 6.64532 Tj
+-410 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+40 TJm
+(,) 2.49075 Tj
+-450 TJm
+(allocate) 30.9849 Tj
+-410 TJm
+(an) 9.40507 Tj
+-410 TJm
+(output) 25.4654 Tj
+-410 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-410 TJm
+(of) 8.29918 Tj
+-410 TJm
+(size) 15.4925 Tj
+-410 TJm
+(1%) 13.2807 Tj
+-410 TJm
+(lar) 10.511 Tj
+18 TJm
+(ger) 12.7228 Tj
+-410 TJm
+(than) 17.1563 Tj
+-410 TJm
+(the) 12.1748 Tj
+72 676.164 Td
+(uncompressed) 56.9983 Tj
+-250 TJm
+(data,) 19.0891 Tj
+-250 TJm
+(plus) 16.6083 Tj
+-250 TJm
+(six) 11.6268 Tj
+-249 TJm
+(hundred) 32.6488 Tj
+-250 TJm
+(e) 4.42357 Tj
+15 TJm
+(xtra) 15.4925 Tj
+-250 TJm
+(bytes.) 23.5226 Tj
+[1 0 0 1 72 674.008] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -664.045] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 654.247 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffDecompress) 155.423 Tj
+[1 0 0 1 227.417 654.247] cm
+0 g
+0 G
+[1 0 0 1 -227.417 -654.247] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+230.553 654.247 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-315 TJm
+(not) 12.7327 Tj
+-314 TJm
+(write) 20.474 Tj
+-315 TJm
+(data) 16.5984 Tj
+-315 TJm
+(at) 7.19329 Tj
+-315 TJm
+(or) 8.29918 Tj
+-314 TJm
+(be) 9.40507 Tj
+15 TJm
+(yond) 19.926 Tj
+[1 0 0 1 362.484 654.247] cm
+0 g
+0 G
+[1 0 0 1 -362.484 -654.247] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+362.484 654.247 Td
+/F130_0 9.963 Tf
+(dest[*destLen]) 83.6892 Tj
+[1 0 0 1 446.17 654.247] cm
+0 g
+0 G
+[1 0 0 1 -446.17 -654.247] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+446.17 654.247 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-331 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-315 TJm
+(in) 7.75121 Tj
+-314 TJm
+(case) 17.1463 Tj
+-315 TJm
+(of) 8.29918 Tj
+-315 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+72 642.291 Td
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er\003o) 18.2622 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 642.192] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -632.229] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 620.374 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 620.274] cm
+0 g
+0 G
+[1 0 0 1 0 -168.369] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 167.372 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 163.786] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -610.909] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 610.909 Td
+/F130_0 9.963 Tf
+(BZ_CONFIG_ERROR) 89.667 Tj
+98.488 598.954 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(library) 41.8446 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-425 TJm
+(mis-compiled) 71.7336 Tj
+90 586.999 Td
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 575.044 Td
+(if) 11.9556 Tj
+-426 TJm
+(dest) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(destL) 29.889 Tj
+1 TJm
+(en) 11.9556 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+98.488 563.088 Td
+(or) 11.9556 Tj
+-426 TJm
+(blockSize100k) 77.7114 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(1) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-425 TJm
+(blockSize100k) 77.7114 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(9) 5.9778 Tj
+98.488 551.133 Td
+(or) 11.9556 Tj
+-426 TJm
+(verbosity) 53.8002 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(verb) 23.9112 Tj
+1 TJm
+(osity) 29.889 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(4) 5.9778 Tj
+98.488 539.178 Td
+(or) 11.9556 Tj
+-426 TJm
+(workFactor) 59.778 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(wor) 17.9334 Tj
+1 TJm
+(kFactor) 41.8446 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(250) 17.9334 Tj
+90 527.223 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 515.268 Td
+(if) 11.9556 Tj
+-426 TJm
+(insufficient) 71.7336 Tj
+-426 TJm
+(memory) 35.8668 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(available) 53.8002 Tj
+90 503.313 Td
+(BZ_OUTBUFF_FULL) 89.667 Tj
+98.488 491.357 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(size) 23.9112 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compr) 29.889 Tj
+1 TJm
+(essed) 29.889 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(exceeds) 41.8446 Tj
+-426 TJm
+(*destLen) 47.8224 Tj
+90 479.402 Td
+(BZ_OK) 29.889 Tj
+98.488 467.447 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 451.905] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -441.943] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 421.284 Td
+/F121_0 17.215 Tf
+(3.5.2.) 43.0719 Tj
+[1 0 0 1 119.858 421.284] cm
+0 g
+0 G
+[1 0 0 1 -119.858 -421.284] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.858 421.284 Td
+/F387_0 17.215 Tf
+(BZ2_bzBuffToBuffDecompress) 268.554 Tj
+[1 0 0 1 388.419 421.284] cm
+0 g
+0 G
+[1 0 0 1 -316.419 -2.332] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -84.683] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 83.686 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 80.099] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -409.587] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 409.587 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzBuffToBuffDecom) 125.534 Tj
+1 TJm
+(press\() 35.8668 Tj
+-426 TJm
+(char*) 29.889 Tj
+-3834 TJm
+(dest,) 29.889 Tj
+225.807 397.632 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int*) 23.9112 Tj
+-426 TJm
+(destLen,) 47.8224 Tj
+225.807 385.676 Td
+(char*) 29.889 Tj
+-3834 TJm
+(source,) 41.8446 Tj
+225.807 373.721 Td
+(unsigned) 47.8224 Tj
+-426 TJm
+(int) 17.9334 Tj
+-852 TJm
+(sourceLen,) 59.778 Tj
+225.807 361.766 Td
+(int) 17.9334 Tj
+-4686 TJm
+(small,) 35.8668 Tj
+225.807 349.811 Td
+(int) 17.9334 Tj
+-4686 TJm
+(verbosity) 53.8002 Tj
+-425 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 334.269] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -324.307] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 312.351 Td
+/F128_0 9.963 Tf
+(Attempts) 36.5343 Tj
+-358 TJm
+(to) 7.75121 Tj
+-358 TJm
+(decompress) 47.0353 Tj
+-359 TJm
+(the) 12.1748 Tj
+-358 TJm
+(data) 16.5984 Tj
+-358 TJm
+(in) 7.75121 Tj
+[1 0 0 1 221.259 312.351] cm
+0 g
+0 G
+[1 0 0 1 -221.259 -312.351] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+221.259 312.351 Td
+/F130_0 9.963 Tf
+(source[0) 47.8224 Tj
+-600 TJm
+(..) 11.9556 Tj
+-1200 TJm
+(sourceLen-1) 65.7558 Tj
+1 TJm
+(]) 5.9778 Tj
+[1 0 0 1 370.698 312.351] cm
+0 g
+0 G
+[1 0 0 1 -370.698 -312.351] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+374.268 312.351 Td
+/F128_0 9.963 Tf
+(into) 15.5024 Tj
+-358 TJm
+(the) 12.1748 Tj
+-359 TJm
+(des) 13.2807 Tj
+1 TJm
+(tination) 30.4469 Tj
+-359 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+40 TJm
+(,) 2.49075 Tj
+[1 0 0 1 486.202 312.351] cm
+0 g
+0 G
+[1 0 0 1 -486.202 -312.351] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+486.202 312.351 Td
+/F130_0 9.963 Tf
+(dest[0) 35.8668 Tj
+-600 TJm
+(..) 11.9556 Tj
+72 300.396 Td
+(*destLen-1]) 65.7558 Tj
+[1 0 0 1 137.753 300.396] cm
+0 g
+0 G
+[1 0 0 1 -137.753 -300.396] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+137.753 300.396 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1123 TJm
+(If) 6.63536 Tj
+-334 TJm
+(the) 12.1748 Tj
+-334 TJm
+(destination) 43.7276 Tj
+-334 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-334 TJm
+(is) 6.64532 Tj
+-333 TJm
+(big) 12.7327 Tj
+-334 TJm
+(enough,) 31.8218 Tj
+[1 0 0 1 312.554 300.396] cm
+0 g
+0 G
+[1 0 0 1 -312.554 -300.396] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+312.554 300.396 Td
+/F130_0 9.963 Tf
+(*destLen) 47.8224 Tj
+[1 0 0 1 360.374 300.396] cm
+0 g
+0 G
+[1 0 0 1 -360.374 -300.396] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+363.701 300.396 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-334 TJm
+(set) 11.0689 Tj
+-334 TJm
+(to) 7.75121 Tj
+-334 TJm
+(th) 7.75121 Tj
+1 TJm
+(e) 4.42357 Tj
+-334 TJm
+(size) 15.4925 Tj
+-334 TJm
+(of) 8.29918 Tj
+-334 TJm
+(the) 12.1748 Tj
+-334 TJm
+(uncompressed) 56.9983 Tj
+-334 TJm
+(d) 4.9815 Tj
+1 TJm
+(ata,) 14.1076 Tj
+72 288.441 Td
+(and) 14.3866 Tj
+[1 0 0 1 89.527 288.441] cm
+0 g
+0 G
+[1 0 0 1 -89.527 -288.441] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+89.527 288.441 Td
+/F130_0 9.963 Tf
+(BZ_OK) 29.889 Tj
+[1 0 0 1 119.415 288.441] cm
+0 g
+0 G
+[1 0 0 1 -119.415 -288.441] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+122.556 288.441 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-315 TJm
+(returned.) 35.6875 Tj
+-1012 TJm
+(If) 6.63536 Tj
+-315 TJm
+(the) 12.1748 Tj
+-315 TJm
+(compressed) 47.0353 Tj
+-316 TJm
+(da) 9.40507 Tj
+1 TJm
+(ta) 7.19329 Tj
+-316 TJm
+(w) 7.19329 Tj
+10 TJm
+(on') 13.2807 Tj
+18 TJm
+(t) 2.76971 Tj
+-315 TJm
+(\002t,) 10.7999 Tj
+[1 0 0 1 313.323 288.441] cm
+0 g
+0 G
+[1 0 0 1 -313.323 -288.441] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+313.323 288.441 Td
+/F130_0 9.963 Tf
+(*destLen) 47.8224 Tj
+[1 0 0 1 361.143 288.441] cm
+0 g
+0 G
+[1 0 0 1 -361.143 -288.441] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+364.285 288.441 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-315 TJm
+(unchanged,) 45.6505 Tj
+-332 TJm
+(and) 14.3866 Tj
+[1 0 0 1 440.551 288.441] cm
+0 g
+0 G
+[1 0 0 1 -440.551 -288.441] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+440.551 288.441 Td
+/F130_0 9.963 Tf
+(BZ_OUTBUFF_FULL) 89.667 Tj
+[1 0 0 1 530.214 288.441] cm
+0 g
+0 G
+[1 0 0 1 -530.214 -288.441] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+533.355 288.441 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+72 276.486 Td
+(returned.) 35.6875 Tj
+[1 0 0 1 72 276.386] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -266.424] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 254.568 Td
+/F130_0 9.963 Tf
+(source) 35.8668 Tj
+[1 0 0 1 107.865 254.568] cm
+0 g
+0 G
+[1 0 0 1 -107.865 -254.568] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+110.981 254.568 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-313 TJm
+(assumed) 34.3126 Tj
+-312 TJm
+(to) 7.75121 Tj
+-313 TJm
+(hold) 17.7142 Tj
+-313 TJm
+(a) 4.42357 Tj
+-312 TJm
+(complete) 36.5244 Tj
+[1 0 0 1 237.04 254.568] cm
+0 g
+0 G
+[1 0 0 1 -237.04 -254.568] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+237.04 254.568 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 266.928 254.568] cm
+0 g
+0 G
+[1 0 0 1 -266.928 -254.568] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+270.044 254.568 Td
+/F128_0 9.963 Tf
+(format) 26.5614 Tj
+-313 TJm
+(dat) 12.1748 Tj
+1 TJm
+(a) 4.42357 Tj
+-313 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 353.446 254.568] cm
+0 g
+0 G
+[1 0 0 1 -353.446 -254.568] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+353.446 254.568 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffDecompres) 149.445 Tj
+1 TJm
+(s) 5.9778 Tj
+[1 0 0 1 508.863 254.568] cm
+0 g
+0 G
+[1 0 0 1 -508.863 -254.568] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+511.979 254.568 Td
+/F128_0 9.963 Tf
+(tries) 17.1563 Tj
+-313 TJm
+(to) 7.75121 Tj
+72 242.613 Td
+(decompress) 47.0353 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(entirety) 30.437 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-250 TJm
+(stream) 26.5614 Tj
+-250 TJm
+(into) 15.5024 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(output) 25.4654 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 240.456] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -230.493] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 220.695 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(meaning) 34.3126 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(parameter) 39.8321 Tj
+1 TJm
+(s) 3.87561 Tj
+[1 0 0 1 196.631 220.695] cm
+0 g
+0 G
+[1 0 0 1 -196.631 -220.695] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+196.631 220.695 Td
+/F130_0 9.963 Tf
+(small) 29.889 Tj
+[1 0 0 1 226.519 220.695] cm
+0 g
+0 G
+[1 0 0 1 -226.519 -220.695] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+229.01 220.695 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 245.887 220.695] cm
+0 g
+0 G
+[1 0 0 1 -245.887 -220.695] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+245.887 220.695 Td
+/F130_0 9.963 Tf
+(verbosity) 53.8002 Tj
+[1 0 0 1 299.685 220.695] cm
+0 g
+0 G
+[1 0 0 1 -299.685 -220.695] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+299.685 220.695 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(see) 12.7228 Tj
+[1 0 0 1 319.879 220.695] cm
+0 g
+0 G
+[1 0 0 1 -319.879 -220.695] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+319.879 220.695 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressInit) 119.556 Tj
+[1 0 0 1 439.431 220.695] cm
+0 g
+0 G
+[1 0 0 1 -439.431 -220.695] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+439.431 220.695 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 218.538] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -208.576] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 198.777 Td
+/F128_0 9.963 Tf
+(Because) 33.1967 Tj
+-249 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compression) 50.363 Tj
+-249 TJm
+(ratio) 18.2622 Tj
+-250 TJm
+(of) 8.29918 Tj
+-249 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compressed) 47.0353 Tj
+-249 TJm
+(data) 16.5984 Tj
+-250 TJm
+(canno) 23.7916 Tj
+1 TJm
+(t) 2.76971 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(kno) 14.9445 Tj
+25 TJm
+(w) 7.19329 Tj
+1 TJm
+(n) 4.9815 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(adv) 14.3866 Tj
+25 TJm
+(a) 4.42357 Tj
+1 TJm
+(nce,) 16.3194 Tj
+-250 TJm
+(there) 19.916 Tj
+-250 TJm
+(is) 6.64532 Tj
+-249 TJm
+(no) 9.963 Tj
+-250 TJm
+(easy) 17.7043 Tj
+-249 TJm
+(w) 7.19329 Tj
+10 TJm
+(ay) 9.40507 Tj
+-250 TJm
+(to) 7.75121 Tj
+-249 TJm
+(guarantee) 38.7262 Tj
+72 186.822 Td
+(that) 14.9445 Tj
+-286 TJm
+(the) 12.1748 Tj
+-287 TJm
+(output) 25.4654 Tj
+-286 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+-286 TJm
+(will) 15.5024 Tj
+-287 TJm
+(be) 9.40507 Tj
+-286 TJm
+(big) 12.7327 Tj
+-286 TJm
+(enough.) 31.8218 Tj
+-839 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-286 TJm
+(may) 17.1563 Tj
+-286 TJm
+(of) 8.29918 Tj
+-287 TJm
+(course) 26.0034 Tj
+-286 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-286 TJm
+(arrangements) 53.6707 Tj
+-287 TJm
+(in) 7.75121 Tj
+-286 TJm
+(your) 18.2622 Tj
+-286 TJm
+(code) 18.8101 Tj
+-287 TJm
+(to) 7.75121 Tj
+-286 TJm
+(record) 25.4455 Tj
+-286 TJm
+(the) 12.1748 Tj
+-287 TJm
+(size) 15.4925 Tj
+-286 TJm
+(of) 8.29918 Tj
+72 174.867 Td
+(the) 12.1748 Tj
+-250 TJm
+(uncompressed) 56.9983 Tj
+-250 TJm
+(data,) 19.0891 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(su) 8.85711 Tj
+1 TJm
+(ch) 9.40507 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(mechanism) 45.3815 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(be) 9.40507 Tj
+15 TJm
+(yond) 19.926 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(scope) 22.6858 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(library) 26.5614 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 172.71] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -162.747] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 152.949 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffDecompress) 155.423 Tj
+[1 0 0 1 227.417 152.949] cm
+0 g
+0 G
+[1 0 0 1 -227.417 -152.949] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+230.553 152.949 Td
+/F128_0 9.963 Tf
+(will) 15.5024 Tj
+-315 TJm
+(not) 12.7327 Tj
+-314 TJm
+(write) 20.474 Tj
+-315 TJm
+(data) 16.5984 Tj
+-315 TJm
+(at) 7.19329 Tj
+-315 TJm
+(or) 8.29918 Tj
+-314 TJm
+(be) 9.40507 Tj
+15 TJm
+(yond) 19.926 Tj
+[1 0 0 1 362.484 152.949] cm
+0 g
+0 G
+[1 0 0 1 -362.484 -152.949] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+362.484 152.949 Td
+/F130_0 9.963 Tf
+(dest[*destLen]) 83.6892 Tj
+[1 0 0 1 446.17 152.949] cm
+0 g
+0 G
+[1 0 0 1 -446.17 -152.949] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+446.17 152.949 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-331 TJm
+(e) 4.42357 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(en) 9.40507 Tj
+-315 TJm
+(in) 7.75121 Tj
+-314 TJm
+(case) 17.1463 Tj
+-315 TJm
+(of) 8.29918 Tj
+-315 TJm
+(b) 4.9815 Tj
+20 TJm
+(uf) 8.29918 Tj
+25 TJm
+(fer) 11.0589 Tj
+72 140.994 Td
+(o) 4.9815 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(er\003o) 18.2622 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 140.894] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -130.932] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 119.076 Td
+/F128_0 9.963 Tf
+(Possible) 33.2166 Tj
+-250 TJm
+(return) 23.7916 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues:) 23.2437 Tj
+[1 0 0 1 72 118.977] cm
+0 g
+0 G
+[1 0 0 1 0 -68.125] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(27) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 31 31
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 4.384 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -352.044 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+436.124 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip) 27.6772 Tj
+1 TJm
+(2) 4.9815 Tj
+[1 0 0 1 267.964 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -15.037 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -248.702] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 227.148 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 223.562] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -711.631] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 711.631 Td
+/F130_0 9.963 Tf
+(BZ_CONFIG_ERROR) 89.667 Tj
+98.488 699.676 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(library) 41.8446 Tj
+-426 TJm
+(has) 17.9334 Tj
+-426 TJm
+(been) 23.9112 Tj
+-425 TJm
+(mis-compiled) 71.7336 Tj
+90 687.721 Td
+(BZ_PARAM_ERROR) 83.6892 Tj
+98.488 675.766 Td
+(if) 11.9556 Tj
+-426 TJm
+(dest) 23.9112 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(destL) 29.889 Tj
+1 TJm
+(en) 11.9556 Tj
+-426 TJm
+(is) 11.9556 Tj
+-426 TJm
+(NULL) 23.9112 Tj
+98.488 663.811 Td
+(or) 11.9556 Tj
+-426 TJm
+(small) 29.889 Tj
+-426 TJm
+(!=) 11.9556 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(&&) 11.9556 Tj
+-426 TJm
+(small) 29.889 Tj
+-426 TJm
+(!) 5.9778 Tj
+1 TJm
+(=) 5.9778 Tj
+-426 TJm
+(1) 5.9778 Tj
+98.488 651.856 Td
+(or) 11.9556 Tj
+-426 TJm
+(verbosity) 53.8002 Tj
+-426 TJm
+(<) 5.9778 Tj
+-426 TJm
+(0) 5.9778 Tj
+-426 TJm
+(or) 11.9556 Tj
+-426 TJm
+(verb) 23.9112 Tj
+1 TJm
+(osity) 29.889 Tj
+-426 TJm
+(>) 5.9778 Tj
+-426 TJm
+(4) 5.9778 Tj
+90 639.9 Td
+(BZ_MEM_ERROR) 71.7336 Tj
+98.488 627.945 Td
+(if) 11.9556 Tj
+-426 TJm
+(insufficient) 71.7336 Tj
+-426 TJm
+(memory) 35.8668 Tj
+-426 TJm
+(is) 11.9556 Tj
+-425 TJm
+(available) 53.8002 Tj
+90 615.99 Td
+(BZ_OUTBUFF_FULL) 89.667 Tj
+98.488 604.035 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(size) 23.9112 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compr) 29.889 Tj
+1 TJm
+(essed) 29.889 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(exceeds) 41.8446 Tj
+-426 TJm
+(*destLen) 47.8224 Tj
+90 592.08 Td
+(BZ_DATA_ERROR) 77.7114 Tj
+98.488 580.124 Td
+(if) 11.9556 Tj
+-426 TJm
+(a) 5.9778 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(integrity) 53.8002 Tj
+-426 TJm
+(erro) 23.9112 Tj
+1 TJm
+(r) 5.9778 Tj
+-426 TJm
+(was) 17.9334 Tj
+-426 TJm
+(detected) 47.8224 Tj
+-426 TJm
+(in) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(data) 23.9112 Tj
+90 568.169 Td
+(BZ_DATA_ERROR_MAGIC) 113.578 Tj
+98.488 556.214 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(d) 5.9778 Tj
+1 TJm
+(oesn't) 35.8668 Tj
+-426 TJm
+(begin) 29.889 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(right) 29.889 Tj
+-426 TJm
+(magic) 29.889 Tj
+-426 TJm
+(bytes) 29.889 Tj
+90 544.259 Td
+(BZ_UNEXPECTED_EOF) 101.623 Tj
+98.488 532.304 Td
+(if) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(compressed) 59.778 Tj
+-426 TJm
+(data) 23.9112 Tj
+-426 TJm
+(e) 5.9778 Tj
+1 TJm
+(nds) 17.9334 Tj
+-426 TJm
+(unexpectedly) 71.7336 Tj
+90 520.349 Td
+(BZ_OK) 29.889 Tj
+98.488 508.393 Td
+(otherwise) 53.8002 Tj
+[1 0 0 1 72 492.852] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -482.889] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 458.099 Td
+/F121_0 20.659 Tf
+(3.6.) 34.4592 Tj
+[1 0 0 1 112.201 458.099] cm
+0 g
+0 G
+[1 0 0 1 -112.201 -458.099] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+112.201 458.099 Td
+/F387_0 20.659 Tf
+(zlib) 49.5816 Tj
+[1 0 0 1 161.781 458.099] cm
+0 g
+0 G
+[1 0 0 1 -161.781 -458.099] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.524 458.099 Td
+/F121_0 20.659 Tf
+(compatibility) 127.425 Tj
+-278 TJm
+(functions) 92.9655 Tj
+[1 0 0 1 72 453.823] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -443.86] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 436.181 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(oshioka) 30.9949 Tj
+-604 TJm
+(Tsuneo) 29.3311 Tj
+-604 TJm
+(has) 13.2807 Tj
+-604 TJm
+(contrib) 28.2252 Tj
+20 TJm
+(uted) 17.1563 Tj
+-604 TJm
+(some) 21.0319 Tj
+-604 TJm
+(funct) 20.474 Tj
+1 TJm
+(ions) 16.6083 Tj
+-604 TJm
+(to) 7.75121 Tj
+-604 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-604 TJm
+(better) 22.6858 Tj
+[1 0 0 1 356.347 436.181] cm
+0 g
+0 G
+[1 0 0 1 -356.347 -436.181] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+356.347 436.181 Td
+/F130_0 9.963 Tf
+(zlib) 23.9112 Tj
+[1 0 0 1 380.257 436.181] cm
+0 g
+0 G
+[1 0 0 1 -380.257 -436.181] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+386.275 436.181 Td
+/F128_0 9.963 Tf
+(compatibility) 53.1426 Tj
+65 TJm
+(.) 2.49075 Tj
+-1372 TJm
+(These) 23.7916 Tj
+-604 TJm
+(functions) 37.0823 Tj
+-604 TJm
+(are) 12.1648 Tj
+[1 0 0 1 72 424.226] cm
+0 g
+0 G
+[1 0 0 1 -72 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 424.226 Td
+/F130_0 9.963 Tf
+(BZ2_bzopen) 59.778 Tj
+[1 0 0 1 131.776 424.226] cm
+0 g
+0 G
+[1 0 0 1 -131.776 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+131.776 424.226 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 144.283 424.226] cm
+0 g
+0 G
+[1 0 0 1 -144.283 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+144.283 424.226 Td
+/F130_0 9.963 Tf
+(BZ2_bzread) 59.778 Tj
+[1 0 0 1 204.059 424.226] cm
+0 g
+0 G
+[1 0 0 1 -204.059 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.059 424.226 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 216.567 424.226] cm
+0 g
+0 G
+[1 0 0 1 -216.567 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+216.567 424.226 Td
+/F130_0 9.963 Tf
+(BZ2_bzwrite) 65.7558 Tj
+[1 0 0 1 282.32 424.226] cm
+0 g
+0 G
+[1 0 0 1 -282.32 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+282.32 424.226 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 294.827 424.226] cm
+0 g
+0 G
+[1 0 0 1 -294.827 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+294.827 424.226 Td
+/F130_0 9.963 Tf
+(BZ2_bzflush) 65.7558 Tj
+[1 0 0 1 360.581 424.226] cm
+0 g
+0 G
+[1 0 0 1 -360.581 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+360.581 424.226 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 373.088 424.226] cm
+0 g
+0 G
+[1 0 0 1 -373.088 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+373.088 424.226 Td
+/F130_0 9.963 Tf
+(BZ2_bzclose) 65.7558 Tj
+[1 0 0 1 438.842 424.226] cm
+0 g
+0 G
+[1 0 0 1 -438.842 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+438.842 424.226 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 451.349 424.226] cm
+0 g
+0 G
+[1 0 0 1 -451.349 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+451.349 424.226 Td
+/F130_0 9.963 Tf
+(BZ2_bzerror) 65.7558 Tj
+[1 0 0 1 517.102 424.226] cm
+0 g
+0 G
+[1 0 0 1 -517.102 -424.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+525.614 424.226 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 72 412.271] cm
+0 g
+0 G
+[1 0 0 1 -72 -412.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 412.271 Td
+/F130_0 9.963 Tf
+(BZ2_bzlibVersion) 95.6448 Tj
+[1 0 0 1 167.641 412.271] cm
+0 g
+0 G
+[1 0 0 1 -167.641 -412.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.641 412.271 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1419 TJm
+(These) 23.7916 Tj
+-384 TJm
+(functi) 23.2437 Tj
+1 TJm
+(ons) 13.8386 Tj
+-384 TJm
+(are) 12.1648 Tj
+-383 TJm
+(not) 12.7327 Tj
+-383 TJm
+(\(yet\)) 18.8101 Tj
+-383 TJm
+(of) 8.29918 Tj
+25 TJm
+(\002cially) 27.6772 Tj
+-383 TJm
+(part) 15.4925 Tj
+-383 TJm
+(of) 8.29918 Tj
+-384 TJm
+(the) 12.1748 Tj
+-383 TJm
+(library) 26.5614 Tj
+65 TJm
+(.) 2.49075 Tj
+-1419 TJm
+(If) 6.63536 Tj
+-383 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-383 TJm
+(break,) 24.6186 Tj
+-417 TJm
+(you) 14.9445 Tj
+-383 TJm
+(get) 12.1748 Tj
+-383 TJm
+(to) 7.75121 Tj
+72 400.316 Td
+(k) 4.9815 Tj
+10 TJm
+(eep) 13.8286 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(pieces.) 27.3883 Tj
+-620 TJm
+(Ne) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(erth) 15.4925 Tj
+1 TJm
+(eless,) 21.8588 Tj
+-250 TJm
+(I) 3.31768 Tj
+-250 TJm
+(think) 20.4839 Tj
+-250 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-250 TJm
+(ok.) 12.4538 Tj
+[1 0 0 1 72 398.159] cm
+0 g
+0 G
+[1 0 0 1 0 -48.817] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 47.821 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 44.235] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -388.794] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 388.794 Td
+/F130_0 9.963 Tf
+(typedef) 41.8446 Tj
+-426 TJm
+(void) 23.9112 Tj
+-426 TJm
+(BZFILE;) 41.8446 Tj
+90 364.884 Td
+(const) 29.889 Tj
+-426 TJm
+(char) 23.9112 Tj
+-426 TJm
+(*) 5.9778 Tj
+-426 TJm
+(BZ2_bzlibVer) 71.7336 Tj
+1 TJm
+(sion) 23.9112 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(void) 23.9112 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 349.342] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -339.379] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 327.424 Td
+/F128_0 9.963 Tf
+(Returns) 30.9949 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(string) 22.6957 Tj
+-250 TJm
+(indicating) 39.852 Tj
+-250 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-250 TJm
+(library) 26.5614 Tj
+-250 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion.) 26.8403 Tj
+[1 0 0 1 72 325.267] cm
+0 g
+0 G
+[1 0 0 1 0 -36.862] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -315.902] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 315.902 Td
+/F130_0 9.963 Tf
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*) 5.9778 Tj
+-426 TJm
+(BZ2_bzopen) 59.778 Tj
+-852 TJm
+(\() 5.9778 Tj
+-426 TJm
+(c) 5.9778 Tj
+1 TJm
+(onst) 23.9112 Tj
+-426 TJm
+(char) 23.9112 Tj
+-426 TJm
+(*path,) 35.8668 Tj
+-426 TJm
+(const) 29.889 Tj
+-426 TJm
+(char) 23.9112 Tj
+-426 TJm
+(*mode) 29.889 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 303.947 Td
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*) 5.9778 Tj
+-426 TJm
+(BZ2_bzdopen) 65.7558 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(i) 5.9778 Tj
+1 TJm
+(nt) 11.9556 Tj
+-3408 TJm
+(fd,) 17.9334 Tj
+-1704 TJm
+(const) 29.889 Tj
+-426 TJm
+(char) 23.9112 Tj
+-426 TJm
+(*mode) 29.889 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 288.405] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -278.443] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 266.488 Td
+/F128_0 9.963 Tf
+(Opens) 25.4555 Tj
+-243 TJm
+(a) 4.42357 Tj
+[1 0 0 1 106.713 266.488] cm
+0 g
+0 G
+[1 0 0 1 -106.713 -266.488] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+106.713 266.488 Td
+/F130_0 9.963 Tf
+(.bz2) 23.9112 Tj
+[1 0 0 1 130.624 266.488] cm
+0 g
+0 G
+[1 0 0 1 -130.624 -266.488] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+133.041 266.488 Td
+/F128_0 9.963 Tf
+(\002le) 12.7327 Tj
+-243 TJm
+(for) 11.6169 Tj
+-242 TJm
+(reading) 29.879 Tj
+-243 TJm
+(or) 8.29918 Tj
+-242 TJm
+(writing,) 31.2739 Tj
+-244 TJm
+(using) 21.5898 Tj
+-243 TJm
+(either) 22.6858 Tj
+-243 TJm
+(its) 9.41504 Tj
+-242 TJm
+(name) 21.5799 Tj
+-243 TJm
+(or) 8.29918 Tj
+-242 TJm
+(a) 4.42357 Tj
+-243 TJm
+(pre-e) 20.464 Tj
+15 TJm
+(xisting) 27.1292 Tj
+-243 TJm
+(\002le) 12.7327 Tj
+-242 TJm
+(descriptor) 39.842 Tj
+55 TJm
+(.) 2.49075 Tj
+-615 TJm
+(Analogous) 43.1697 Tj
+-243 TJm
+(to) 7.75121 Tj
+[1 0 0 1 510.112 266.488] cm
+0 g
+0 G
+[1 0 0 1 -510.112 -266.488] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+510.112 266.488 Td
+/F130_0 9.963 Tf
+(fopen) 29.889 Tj
+[1 0 0 1 540 266.488] cm
+0 g
+0 G
+[1 0 0 1 -540 -266.488] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 254.532 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 88.877 254.532] cm
+0 g
+0 G
+[1 0 0 1 -88.877 -254.532] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+88.877 254.532 Td
+/F130_0 9.963 Tf
+(fdopen) 35.8668 Tj
+[1 0 0 1 124.742 254.532] cm
+0 g
+0 G
+[1 0 0 1 -124.742 -254.532] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+124.742 254.532 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 252.968] cm
+0 g
+0 G
+[1 0 0 1 0 -36.861] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -243.604] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 243.604 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzread) 59.778 Tj
+-852 TJm
+(\() 5.9778 Tj
+-426 TJm
+(BZFILE) 35.8668 Tj
+1 TJm
+(*) 5.9778 Tj
+-426 TJm
+(b,) 11.9556 Tj
+-426 TJm
+(void*) 29.889 Tj
+-426 TJm
+(buf,) 23.9112 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(len) 17.9334 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 231.648 Td
+(int) 17.9334 Tj
+-426 TJm
+(BZ2_bzwrite) 65.7558 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(BZFILE*) 41.8446 Tj
+-425 TJm
+(b,) 11.9556 Tj
+-426 TJm
+(void*) 29.889 Tj
+-426 TJm
+(buf,) 23.9112 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(len) 17.9334 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 216.107] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -206.144] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 194.189 Td
+/F128_0 9.963 Tf
+(Reads/writes) 51.4689 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(from/to) 29.889 Tj
+-249 TJm
+(a) 4.42357 Tj
+-250 TJm
+(pre) 12.7228 Tj
+25 TJm
+(viously) 29.341 Tj
+-250 TJm
+(opened) 28.7731 Tj
+[1 0 0 1 259.903 194.189] cm
+0 g
+0 G
+[1 0 0 1 -259.903 -194.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+259.903 194.189 Td
+/F130_0 9.963 Tf
+(BZFILE) 35.8668 Tj
+[1 0 0 1 295.769 194.189] cm
+0 g
+0 G
+[1 0 0 1 -295.769 -194.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+295.769 194.189 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-500 TJm
+(Analogous) 43.1697 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 359.141 194.189] cm
+0 g
+0 G
+[1 0 0 1 -359.141 -194.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+359.141 194.189 Td
+/F130_0 9.963 Tf
+(fread) 29.889 Tj
+[1 0 0 1 389.029 194.189] cm
+0 g
+0 G
+[1 0 0 1 -389.029 -194.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+391.519 194.189 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 408.396 194.189] cm
+0 g
+0 G
+[1 0 0 1 -408.396 -194.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+408.396 194.189 Td
+/F130_0 9.963 Tf
+(fwrite) 35.8668 Tj
+[1 0 0 1 444.261 194.189] cm
+0 g
+0 G
+[1 0 0 1 -444.261 -194.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+444.261 194.189 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 192.032] cm
+0 g
+0 G
+[1 0 0 1 0 -36.862] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -182.667] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 182.667 Td
+/F130_0 9.963 Tf
+(int) 17.9334 Tj
+-852 TJm
+(BZ2_bzflush) 65.7558 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(BZFIL) 29.889 Tj
+1 TJm
+(E*) 11.9556 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+90 170.712 Td
+(void) 23.9112 Tj
+-426 TJm
+(BZ2_bzclose) 65.7558 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(BZFILE) 35.8668 Tj
+1 TJm
+(*) 5.9778 Tj
+-426 TJm
+(b) 5.9778 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 155.17] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -145.208] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 133.252 Td
+/F128_0 9.963 Tf
+(Flushes/closes) 57.5662 Tj
+-250 TJm
+(a) 4.42357 Tj
+[1 0 0 1 138.968 133.252] cm
+0 g
+0 G
+[1 0 0 1 -138.968 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+138.968 133.252 Td
+/F130_0 9.963 Tf
+(BZFILE) 35.8668 Tj
+[1 0 0 1 174.833 133.252] cm
+0 g
+0 G
+[1 0 0 1 -174.833 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+174.833 133.252 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 179.815 133.252] cm
+0 g
+0 G
+[1 0 0 1 -179.815 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+179.815 133.252 Td
+/F130_0 9.963 Tf
+(BZ2_bzflush) 65.7558 Tj
+[1 0 0 1 245.568 133.252] cm
+0 g
+0 G
+[1 0 0 1 -245.568 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+248.059 133.252 Td
+/F128_0 9.963 Tf
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(actually) 31.5429 Tj
+-250 TJm
+(do) 9.963 Tj
+-250 TJm
+(an) 9.40507 Tj
+15 TJm
+(ything.) 27.9562 Tj
+-619 TJm
+(Analogous) 43.1697 Tj
+-250 TJm
+(to) 7.75121 Tj
+[1 0 0 1 425.472 133.252] cm
+0 g
+0 G
+[1 0 0 1 -425.472 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+425.472 133.252 Td
+/F130_0 9.963 Tf
+(fflush) 35.8668 Tj
+[1 0 0 1 461.338 133.252] cm
+0 g
+0 G
+[1 0 0 1 -461.338 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+463.828 133.252 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 480.705 133.252] cm
+0 g
+0 G
+[1 0 0 1 -480.705 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+480.705 133.252 Td
+/F130_0 9.963 Tf
+(fclose) 35.8668 Tj
+[1 0 0 1 516.57 133.252] cm
+0 g
+0 G
+[1 0 0 1 -516.57 -133.252] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+516.57 133.252 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 131.096] cm
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.323] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -121.731] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 121.731 Td
+/F130_0 9.963 Tf
+(const) 29.889 Tj
+-426 TJm
+(char) 23.9112 Tj
+-426 TJm
+(*) 5.9778 Tj
+-426 TJm
+(BZ2_bzerror) 65.7558 Tj
+-425 TJm
+(\() 5.9778 Tj
+-426 TJm
+(BZFILE) 35.8668 Tj
+-426 TJm
+(*b,) 17.9334 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(*errnum) 41.8446 Tj
+-426 TJm
+(\)) 5.9778 Tj
+[1 0 0 1 72 106.189] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -96.226] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 84.271 Td
+/F128_0 9.963 Tf
+(Returns) 30.9949 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(string) 22.6957 Tj
+-250 TJm
+(describing) 41.5059 Tj
+-250 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-250 TJm
+(more) 20.474 Tj
+-250 TJm
+(recent) 24.3396 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(status) 22.6957 Tj
+-250 TJm
+(of) 8.29918 Tj
+[1 0 0 1 303.858 84.271] cm
+0 g
+0 G
+[1 0 0 1 -303.858 -84.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+303.858 84.271 Td
+/F130_0 9.963 Tf
+(b) 5.9778 Tj
+[1 0 0 1 309.835 84.271] cm
+0 g
+0 G
+[1 0 0 1 -309.835 -84.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+309.835 84.271 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(also) 16.0504 Tj
+-250 TJm
+(sets) 14.9445 Tj
+[1 0 0 1 367.668 84.271] cm
+0 g
+0 G
+[1 0 0 1 -367.668 -84.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+367.668 84.271 Td
+/F130_0 9.963 Tf
+(*errnum) 41.8446 Tj
+[1 0 0 1 409.511 84.271] cm
+0 g
+0 G
+[1 0 0 1 -409.511 -84.271] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+412.002 84.271 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(its) 9.41504 Tj
+-250 TJm
+(numerical) 39.842 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alue.) 19.0891 Tj
+[1 0 0 1 72 82.114] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -21.3] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 4.384 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.573 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -495.734 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+536.307 50.951 Td
+/F128_0 9.963 Tf
+(28) 9.963 Tj
+[1 0 0 1 455.161 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.599 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -15.037 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 32 32
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 704.93 Td
+/F121_0 20.659 Tf
+(3.7.) 34.4592 Tj
+-449 TJm
+(Using) 57.3907 Tj
+-449 TJm
+(the) 30.9885 Tj
+-449 TJm
+(librar) 51.6682 Tj
+-10 TJm
+(y) 11.4864 Tj
+-449 TJm
+(in) 18.3659 Tj
+-450 TJm
+(a) 11.4864 Tj
+[1 0 0 1 343.721 704.93] cm
+0 g
+0 G
+[1 0 0 1 -343.721 -704.93] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+343.721 704.93 Td
+/F387_0 20.659 Tf
+(stdio) 61.977 Tj
+[1 0 0 1 405.696 704.93] cm
+0 g
+0 G
+[1 0 0 1 -405.696 -704.93] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+405.696 704.93 Td
+/F121_0 20.659 Tf
+(-free) 44.7681 Tj
+-449 TJm
+(en) 24.1091 Tj
+40 TJm
+(vir) 25.266 Tj
+20 TJm
+(on-) 32.1247 Tj
+72 680.139 Td
+(ment) 49.3544 Tj
+[1 0 0 1 72 679.881] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -669.919] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 649.518 Td
+/F121_0 17.215 Tf
+(3.7.1.) 43.0719 Tj
+-278 TJm
+(Getting) 60.2525 Tj
+-278 TJm
+(rid) 22.0008 Tj
+-278 TJm
+(of) 16.251 Tj
+[1 0 0 1 232.721 649.518] cm
+0 g
+0 G
+[1 0 0 1 -232.721 -649.518] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+232.721 649.518 Td
+/F387_0 17.215 Tf
+(stdio) 51.645 Tj
+[1 0 0 1 284.367 649.518] cm
+0 g
+0 G
+[1 0 0 1 -212.367 -3.83] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -635.725] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 627.6 Td
+/F128_0 9.963 Tf
+(In) 8.29918 Tj
+-319 TJm
+(a) 4.42357 Tj
+-319 TJm
+(deeply) 26.5614 Tj
+-319 TJm
+(embedded) 40.9479 Tj
+-319 TJm
+(application,) 46.7663 Tj
+-336 TJm
+(you) 14.9445 Tj
+-319 TJm
+(might) 23.2536 Tj
+-319 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-319 TJm
+(to) 7.75121 Tj
+-319 TJm
+(use) 13.2807 Tj
+-319 TJm
+(just) 14.3965 Tj
+-319 TJm
+(t) 2.76971 Tj
+1 TJm
+(he) 9.40507 Tj
+-319 TJm
+(memory-to-memory) 80.7999 Tj
+-319 TJm
+(functions.) 39.573 Tj
+-1034 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-319 TJm
+(can) 13.8286 Tj
+-319 TJm
+(do) 9.963 Tj
+-319 TJm
+(this) 14.3965 Tj
+72 615.645 Td
+(con) 14.3866 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(eniently) 32.1008 Tj
+-327 TJm
+(by) 9.963 Tj
+-327 TJm
+(compiling) 40.4099 Tj
+-327 TJm
+(the) 12.1748 Tj
+-327 TJm
+(library) 26.5614 Tj
+-327 TJm
+(with) 17.7142 Tj
+-327 TJm
+(preprocessor) 50.901 Tj
+-327 TJm
+(symbol) 29.341 Tj
+[1 0 0 1 336.045 615.645] cm
+0 g
+0 G
+[1 0 0 1 -336.045 -615.645] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+336.045 615.645 Td
+/F130_0 9.963 Tf
+(BZ_NO_STDIO) 65.7558 Tj
+[1 0 0 1 401.799 615.645] cm
+0 g
+0 G
+[1 0 0 1 -401.799 -615.645] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+405.057 615.645 Td
+/F128_0 9.963 Tf
+(de\002ned.) 31.8218 Tj
+-1082 TJm
+(Doing) 24.9075 Tj
+-327 TJm
+(this) 14.3965 Tj
+-327 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-327 TJm
+(you) 14.9445 Tj
+-327 TJm
+(a) 4.42357 Tj
+72 603.69 Td
+(library) 26.5614 Tj
+-250 TJm
+(containing) 42.0638 Tj
+-250 TJm
+(only) 17.7142 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(fo) 8.29918 Tj
+1 TJm
+(llo) 10.5209 Tj
+25 TJm
+(wing) 19.926 Tj
+-250 TJm
+(eight) 19.926 Tj
+-250 TJm
+(functions:) 39.852 Tj
+[1 0 0 1 72 601.533] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -591.571] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 581.772 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressInit) 107.6 Tj
+[1 0 0 1 179.597 581.772] cm
+0 g
+0 G
+[1 0 0 1 -179.597 -581.772] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+179.597 581.772 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 199.079 581.772] cm
+0 g
+0 G
+[1 0 0 1 -199.079 -581.772] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+199.079 581.772 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompress) 83.6892 Tj
+[1 0 0 1 282.765 581.772] cm
+0 g
+0 G
+[1 0 0 1 -282.765 -581.772] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+282.765 581.772 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 302.247 581.772] cm
+0 g
+0 G
+[1 0 0 1 -302.247 -581.772] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+302.247 581.772 Td
+/F130_0 9.963 Tf
+(BZ2_bzCompressEnd) 101.623 Tj
+[1 0 0 1 403.866 581.772] cm
+0 g
+0 G
+[1 0 0 1 14.092 0] cm
+0 g
+0 G
+[1 0 0 1 -417.958 -581.772] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+417.958 581.772 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressInit) 119.556 Tj
+[1 0 0 1 537.509 581.772] cm
+0 g
+0 G
+[1 0 0 1 -537.509 -581.772] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+537.509 581.772 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 72 569.817] cm
+0 g
+0 G
+[1 0 0 1 -72 -569.817] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 569.817 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompress) 95.6448 Tj
+[1 0 0 1 167.641 569.817] cm
+0 g
+0 G
+[1 0 0 1 -167.641 -569.817] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.641 569.817 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 172.144 569.817] cm
+0 g
+0 G
+[1 0 0 1 -172.144 -569.817] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+172.144 569.817 Td
+/F130_0 9.963 Tf
+(BZ2_bzDecompressEnd) 113.578 Tj
+[1 0 0 1 285.719 569.817] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 -287.612 -569.817] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+287.612 569.817 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffCompres) 137.489 Tj
+1 TJm
+(s) 5.9778 Tj
+[1 0 0 1 431.074 569.817] cm
+0 g
+0 G
+[1 0 0 1 -431.074 -569.817] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+431.074 569.817 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 435.577 569.817] cm
+0 g
+0 G
+[1 0 0 1 -435.577 -569.817] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+435.577 569.817 Td
+/F130_0 9.963 Tf
+(BZ2_bzBuffToBuffDecompre) 143.467 Tj
+1 TJm
+(ss) 11.9556 Tj
+[1 0 0 1 590.994 569.817] cm
+0 g
+0 G
+[1 0 0 1 -518.994 -1.564] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -558.29] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 547.899 Td
+/F128_0 9.963 Tf
+(When) 23.7916 Tj
+-250 TJm
+(compiled) 37.0823 Tj
+-250 TJm
+(lik) 10.5209 Tj
+10 TJm
+(e) 4.42357 Tj
+-250 TJm
+(this,) 16.8873 Tj
+-250 TJm
+(all) 9.963 Tj
+-249 TJm
+(functions) 37.0823 Tj
+-250 TJm
+(will) 15.5024 Tj
+-250 TJm
+(ignore) 25.4555 Tj
+[1 0 0 1 272.526 547.899] cm
+0 g
+0 G
+[1 0 0 1 -272.526 -547.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+272.526 547.899 Td
+/F130_0 9.963 Tf
+(verbosity) 53.8002 Tj
+[1 0 0 1 326.324 547.899] cm
+0 g
+0 G
+[1 0 0 1 -326.324 -547.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+328.815 547.899 Td
+/F128_0 9.963 Tf
+(settings.) 32.9377 Tj
+[1 0 0 1 72 545.742] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -535.78] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 517.278 Td
+/F121_0 17.215 Tf
+(3.7.2.) 43.0719 Tj
+-278 TJm
+(Critical) 58.3589 Tj
+-278 TJm
+(err) 22.9648 Tj
+20 TJm
+(or) 17.215 Tj
+-278 TJm
+(handling) 71.7349 Tj
+[1 0 0 1 72 513.448] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -503.485] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 495.36 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 119.821 495.36] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -495.36] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+124.529 495.36 Td
+/F128_0 9.963 Tf
+(contains) 33.2067 Tj
+-472 TJm
+(a) 4.42357 Tj
+-473 TJm
+(number) 30.437 Tj
+-472 TJm
+(of) 8.29918 Tj
+-473 TJm
+(internal) 30.437 Tj
+-472 TJm
+(assertion) 35.4185 Tj
+-473 TJm
+(checks) 27.1093 Tj
+-472 TJm
+(which) 24.3496 Tj
+-473 TJm
+(sho) 13.8386 Tj
+1 TJm
+(uld,) 15.2235 Tj
+-529 TJm
+(needles) 29.879 Tj
+1 TJm
+(s) 3.87561 Tj
+-473 TJm
+(to) 7.75121 Tj
+-473 TJm
+(sa) 8.29918 Tj
+1 TJm
+(y) 4.9815 Tj
+65 TJm
+(,) 2.49075 Tj
+-529 TJm
+(ne) 9.40507 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-472 TJm
+(be) 9.40507 Tj
+-473 TJm
+(acti) 14.3866 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ated.) 19.0891 Tj
+72 483.405 Td
+(Ne) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ertheless,) 37.3513 Tj
+-532 TJm
+(if) 6.08739 Tj
+-476 TJm
+(an) 9.40507 Tj
+-476 TJm
+(assertion) 35.4185 Tj
+-476 TJm
+(should) 26.5713 Tj
+-476 TJm
+(f) 3.31768 Tj
+10 TJm
+(ail,) 12.4538 Tj
+-533 TJm
+(beha) 18.8101 Tj
+21 TJm
+(viour) 21.0319 Tj
+-476 TJm
+(depends) 32.6488 Tj
+-476 TJm
+(on) 9.963 Tj
+-476 TJm
+(whether) 32.0908 Tj
+-476 TJm
+(or) 8.29918 Tj
+-476 TJm
+(not) 12.7327 Tj
+-476 TJm
+(the) 12.1748 Tj
+-476 TJm
+(library) 26.5614 Tj
+-476 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-476 TJm
+(compiled) 37.0823 Tj
+-476 TJm
+(with) 17.7142 Tj
+[1 0 0 1 72 471.45] cm
+0 g
+0 G
+[1 0 0 1 -72 -471.45] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 471.45 Td
+/F130_0 9.963 Tf
+(BZ_NO_STDIO) 65.7558 Tj
+[1 0 0 1 137.753 471.45] cm
+0 g
+0 G
+[1 0 0 1 -137.753 -471.45] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+140.244 471.45 Td
+/F128_0 9.963 Tf
+(set.) 13.5596 Tj
+[1 0 0 1 72 470.284] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -460.322] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 449.532 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(normal) 28.2252 Tj
+-250 TJm
+(compile,) 34.5915 Tj
+-250 TJm
+(an) 9.40507 Tj
+-250 TJm
+(asse) 16.5984 Tj
+1 TJm
+(rtion) 18.8201 Tj
+-250 TJm
+(f) 3.31768 Tj
+10 TJm
+(ailure) 22.6858 Tj
+-250 TJm
+(yields) 23.8016 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(message:) 36.5244 Tj
+[1 0 0 1 72 447.375] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -437.413] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 427.614 Td
+/F128_0 9.963 Tf
+(bzip2/libbzip2:) 60.3359 Tj
+-310 TJm
+(internal) 30.437 Tj
+-250 TJm
+(err) 11.0589 Tj
+1 TJm
+(or) 8.29918 Tj
+-250 TJm
+(number) 30.437 Tj
+-250 TJm
+(N.) 9.68404 Tj
+[1 0 0 1 72 425.458] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -415.495] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+108 405.697 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-475 TJm
+(is) 6.64532 Tj
+-476 TJm
+(a) 4.42357 Tj
+-476 TJm
+(b) 4.9815 Tj
+20 TJm
+(u) 4.9815 Tj
+1 TJm
+(g) 4.9815 Tj
+-476 TJm
+(in) 7.75121 Tj
+-476 TJm
+(bzi) 12.1748 Tj
+1 TJm
+(p2/libbzip2,) 47.8822 Tj
+-532 TJm
+(1.0.3) 19.926 Tj
+-476 TJm
+(of) 8.29918 Tj
+-475 TJm
+(15) 9.963 Tj
+-476 TJm
+(February) 35.9664 Tj
+-475 TJm
+(2005.) 22.4168 Tj
+-987 TJm
+(Please) 25.4555 Tj
+-475 TJm
+(report) 23.7916 Tj
+-476 TJm
+(it) 5.53943 Tj
+-475 TJm
+(to) 7.75121 Tj
+-476 TJm
+(me) 12.1748 Tj
+-475 TJm
+(at:) 9.963 Tj
+-761 TJm
+(jse-) 14.3866 Tj
+108 393.741 Td
+(w) 7.19329 Tj
+10 TJm
+(ard@bzip.or) 49.8449 Tj
+18 TJm
+(g.) 7.47225 Tj
+-1091 TJm
+(If) 6.63536 Tj
+-329 TJm
+(this) 14.3965 Tj
+-328 TJm
+(happened) 38.1782 Tj
+-329 TJm
+(wh) 12.1748 Tj
+1 TJm
+(en) 9.40507 Tj
+-329 TJm
+(you) 14.9445 Tj
+-329 TJm
+(w) 7.19329 Tj
+1 TJm
+(ere) 12.1648 Tj
+-329 TJm
+(using) 21.5898 Tj
+-328 TJm
+(some) 21.0319 Tj
+-329 TJm
+(program) 33.7546 Tj
+-328 TJm
+(which) 24.3496 Tj
+-329 TJm
+(uses) 17.1563 Tj
+-328 TJm
+(libbzip2) 32.6587 Tj
+-329 TJm
+(as) 8.29918 Tj
+-328 TJm
+(a) 4.42357 Tj
+108 381.786 Td
+(component,) 46.7663 Tj
+-323 TJm
+(you) 14.9445 Tj
+-309 TJm
+(should) 26.5713 Tj
+-308 TJm
+(also) 16.0504 Tj
+-309 TJm
+(report) 23.7916 Tj
+-309 TJm
+(this) 14.3965 Tj
+-308 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-309 TJm
+(to) 7.75121 Tj
+-309 TJm
+(the) 12.1748 Tj
+-308 TJm
+(author\(s\)) 35.9664 Tj
+-309 TJm
+(of) 8.29918 Tj
+-309 TJm
+(tha) 12.1748 Tj
+1 TJm
+(t) 2.76971 Tj
+-309 TJm
+(program.) 36.2454 Tj
+-972 TJm
+(Please) 25.4555 Tj
+-309 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-309 TJm
+(an) 9.40507 Tj
+-308 TJm
+(ef-) 11.0589 Tj
+108 369.831 Td
+(fort) 14.3866 Tj
+-315 TJm
+(to) 7.75121 Tj
+-315 TJm
+(report) 23.7916 Tj
+-316 TJm
+(this) 14.3965 Tj
+-315 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug;) 12.7327 Tj
+-348 TJm
+(timely) 25.4654 Tj
+-315 TJm
+(and) 14.3866 Tj
+-315 TJm
+(accurate) 33.1868 Tj
+-315 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-315 TJm
+(reports) 27.6673 Tj
+-316 TJm
+(e) 4.42357 Tj
+26 TJm
+(v) 4.9815 Tj
+15 TJm
+(entually) 32.1008 Tj
+-316 TJm
+(lead) 16.5984 Tj
+-315 TJm
+(to) 7.75121 Tj
+-315 TJm
+(higher) 25.4555 Tj
+-315 TJm
+(quality) 27.6772 Tj
+-315 TJm
+(softw) 22.1378 Tj
+10 TJm
+(are.) 14.6556 Tj
+108 357.876 Td
+(Thanks.) 31.8218 Tj
+-620 TJm
+(Julian) 23.8016 Tj
+-250 TJm
+(Se) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(ard,) 15.2135 Tj
+-250 TJm
+(15) 9.963 Tj
+-250 TJm
+(Fe) 9.963 Tj
+1 TJm
+(bruary) 26.0034 Tj
+-250 TJm
+(2005.) 22.4168 Tj
+[1 0 0 1 72 355.719] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -335.794] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 325.995 Td
+/F128_0 9.963 Tf
+(where) 24.3396 Tj
+[1 0 0 1 98.831 325.995] cm
+0 g
+0 G
+[1 0 0 1 -98.831 -325.995] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+98.831 325.995 Td
+/F130_0 9.963 Tf
+(N) 5.9778 Tj
+[1 0 0 1 104.809 325.995] cm
+0 g
+0 G
+[1 0 0 1 -104.809 -325.995] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+107.301 325.995 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(some) 21.0319 Tj
+-250 TJm
+(error) 19.3581 Tj
+-250 TJm
+(code) 18.8101 Tj
+-251 TJm
+(nu) 9.963 Tj
+1 TJm
+(mber) 20.474 Tj
+55 TJm
+(.) 2.49075 Tj
+-622 TJm
+(If) 6.63536 Tj
+[1 0 0 1 230.81 325.995] cm
+0 g
+0 G
+[1 0 0 1 -230.81 -325.995] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+230.81 325.995 Td
+/F130_0 9.963 Tf
+(N) 5.9778 Tj
+-600 TJm
+(==) 11.9556 Tj
+-600 TJm
+(1007) 23.9112 Tj
+[1 0 0 1 284.608 325.995] cm
+0 g
+0 G
+[1 0 0 1 -284.608 -325.995] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+284.608 325.995 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(also) 16.0504 Tj
+-250 TJm
+(prints) 22.6957 Tj
+-251 TJm
+(som) 16.6083 Tj
+1 TJm
+(e) 4.42357 Tj
+-251 TJm
+(e) 4.42357 Tj
+15 TJm
+(xtra) 15.4925 Tj
+-250 TJm
+(te) 7.19329 Tj
+15 TJm
+(xt) 7.75121 Tj
+-250 TJm
+(advising) 33.7646 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(reader) 24.8876 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(unreliable) 39.842 Tj
+72 314.04 Td
+(memory) 33.2067 Tj
+-425 TJm
+(i) 2.76971 Tj
+1 TJm
+(s) 3.87561 Tj
+-425 TJm
+(often) 20.474 Tj
+-425 TJm
+(associate) 35.9664 Tj
+1 TJm
+(d) 4.9815 Tj
+-425 TJm
+(with) 17.7142 Tj
+-425 TJm
+(internal) 30.437 Tj
+-424 TJm
+(error) 19.3581 Tj
+-425 TJm
+(1007.) 22.4168 Tj
+-834 TJm
+(\(This) 21.0319 Tj
+-424 TJm
+(is) 6.64532 Tj
+-425 TJm
+(a) 4.42357 Tj
+-424 TJm
+(frequently-observ) 70.827 Tj
+15 TJm
+(ed-phenomenon) 64.1916 Tj
+-425 TJm
+(w) 7.19329 Tj
+1 TJm
+(ith) 10.5209 Tj
+-425 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+72 302.085 Td
+(1.0.0/1.0.1\).) 48.4301 Tj
+[1 0 0 1 72 300.302] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -290.339] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 280.167 Td
+/F130_0 9.963 Tf
+(exit\(3\)) 41.8446 Tj
+[1 0 0 1 113.843 280.167] cm
+0 g
+0 G
+[1 0 0 1 -113.843 -280.167] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+116.334 280.167 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(then) 17.1563 Tj
+-250 TJm
+(called.) 26.2824 Tj
+[1 0 0 1 72 279.002] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -269.039] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 258.25 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-250 TJm
+(a) 4.42357 Tj
+[1 0 0 1 95.093 258.25] cm
+0 g
+0 G
+[1 0 0 1 -95.093 -258.25] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.093 258.25 Td
+/F130_0 9.963 Tf
+(stdio) 29.889 Tj
+[1 0 0 1 124.981 258.25] cm
+0 g
+0 G
+[1 0 0 1 -124.981 -258.25] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+124.981 258.25 Td
+/F128_0 9.963 Tf
+(-free) 18.8002 Tj
+-250 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(assertion) 35.4185 Tj
+-250 TJm
+(f) 3.31768 Tj
+10 TJm
+(ailure) 22.6858 Tj
+1 TJm
+(s) 3.87561 Tj
+-250 TJm
+(result) 22.1378 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(call) 14.3866 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(function) 33.2067 Tj
+-250 TJm
+(declared) 33.7447 Tj
+-250 TJm
+(as:) 11.0689 Tj
+[1 0 0 1 72 256.093] cm
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.323] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -246.728] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 246.728 Td
+/F130_0 9.963 Tf
+(extern) 35.8668 Tj
+-426 TJm
+(void) 23.9112 Tj
+-426 TJm
+(bz_internal_e) 77.7114 Tj
+1 TJm
+(rror) 23.9112 Tj
+-426 TJm
+(\() 5.9778 Tj
+-426 TJm
+(int) 17.9334 Tj
+-426 TJm
+(errcode) 41.8446 Tj
+-426 TJm
+(\);) 11.9556 Tj
+[1 0 0 1 72 231.186] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -221.223] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 209.268 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-250 TJm
+(rele) 14.9345 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ant) 12.1748 Tj
+-250 TJm
+(code) 18.8101 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(passed) 26.5614 Tj
+-250 TJm
+(a) 4.42357 Tj
+1 TJm
+(s) 3.87561 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(parameter) 39.8321 Tj
+55 TJm
+(.) 2.49075 Tj
+-620 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(supply) 26.5713 Tj
+-250 TJm
+(such) 18.2622 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(function.) 35.6974 Tj
+[1 0 0 1 72 207.111] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -197.149] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 187.35 Td
+/F128_0 9.963 Tf
+(In) 8.29918 Tj
+-294 TJm
+(either) 22.6858 Tj
+-294 TJm
+(case,) 19.6371 Tj
+-305 TJm
+(once) 18.8101 Tj
+-295 TJm
+(an) 9.40507 Tj
+-294 TJm
+(assertion) 35.4185 Tj
+-294 TJm
+(f) 3.31768 Tj
+10 TJm
+(ailure) 22.6858 Tj
+-294 TJm
+(has) 13.2807 Tj
+-294 TJm
+(occurred,) 37.3413 Tj
+-305 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+[1 0 0 1 306.541 187.35] cm
+0 g
+0 G
+[1 0 0 1 -306.541 -187.35] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+306.541 187.35 Td
+/F130_0 9.963 Tf
+(bz_stream) 53.8002 Tj
+[1 0 0 1 360.34 187.35] cm
+0 g
+0 G
+[1 0 0 1 -360.34 -187.35] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+363.271 187.35 Td
+/F128_0 9.963 Tf
+(records) 29.3211 Tj
+-294 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+20 TJm
+(olv) 12.7327 Tj
+15 TJm
+(ed) 9.40507 Tj
+-294 TJm
+(can) 13.8286 Tj
+-294 TJm
+(be) 9.40507 Tj
+-294 TJm
+(re) 7.74125 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(arded) 22.1278 Tj
+-295 TJm
+(as) 8.29918 Tj
+-294 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+25 TJm
+(alid.) 17.4353 Tj
+72 175.395 Td
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(attempt) 29.889 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(res) 11.6169 Tj
+1 TJm
+(ume) 17.1563 Tj
+-250 TJm
+(normal) 28.2252 Tj
+-250 TJm
+(operation) 37.6303 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(them.) 22.4168 Tj
+[1 0 0 1 72 173.238] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -163.276] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 153.477 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-299 TJm
+(m) 7.75121 Tj
+1 TJm
+(ay) 9.40507 Tj
+65 TJm
+(,) 2.49075 Tj
+-311 TJm
+(of) 8.29918 Tj
+-299 TJm
+(course,) 28.4942 Tj
+-310 TJm
+(change) 28.2152 Tj
+-299 TJm
+(critical) 27.6673 Tj
+-298 TJm
+(error) 19.3581 Tj
+-299 TJm
+(ha) 9.40507 Tj
+1 TJm
+(ndling) 25.4654 Tj
+-299 TJm
+(to) 7.75121 Tj
+-298 TJm
+(suit) 14.3965 Tj
+-299 TJm
+(your) 18.2622 Tj
+-298 TJm
+(needs.) 25.1765 Tj
+-912 TJm
+(As) 11.0689 Tj
+-298 TJm
+(I) 3.31768 Tj
+-299 TJm
+(said) 16.0504 Tj
+-298 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e,) 6.91432 Tj
+-311 TJm
+(critical) 27.6673 Tj
+-298 TJm
+(errors) 23.2337 Tj
+-299 TJm
+(indic) 19.926 Tj
+1 TJm
+(ate) 11.6169 Tj
+-299 TJm
+(b) 4.9815 Tj
+20 TJm
+(ugs) 13.8386 Tj
+72 141.522 Td
+(in) 7.75121 Tj
+-263 TJm
+(the) 12.1748 Tj
+-263 TJm
+(library) 26.5614 Tj
+-263 TJm
+(and) 14.3866 Tj
+-263 TJm
+(s) 3.87561 Tj
+1 TJm
+(hould) 22.6957 Tj
+-263 TJm
+(not) 12.7327 Tj
+-263 TJm
+(occur) 22.1278 Tj
+55 TJm
+(.) 2.49075 Tj
+-698 TJm
+(All) 12.7327 Tj
+-263 TJm
+("normal") 36.355 Tj
+-263 TJm
+(er) 7.74125 Tj
+1 TJm
+(ror) 11.6169 Tj
+-263 TJm
+(situations) 38.1981 Tj
+-263 TJm
+(are) 12.1648 Tj
+-263 TJm
+(indicated) 36.5244 Tj
+-263 TJm
+(via) 12.1748 Tj
+-263 TJm
+(error) 19.3581 Tj
+-263 TJm
+(retu) 15.4925 Tj
+1 TJm
+(rn) 8.29918 Tj
+-263 TJm
+(codes) 22.6858 Tj
+-263 TJm
+(from) 19.3681 Tj
+-263 TJm
+(functions,) 39.573 Tj
+72 129.567 Td
+(and) 14.3866 Tj
+-250 TJm
+(can) 13.8286 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(reco) 17.1463 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(ered) 17.1463 Tj
+-250 TJm
+(from.) 21.8588 Tj
+[1 0 0 1 72 129.468] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -119.505] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 94.814 Td
+/F121_0 20.659 Tf
+(3.8.) 34.4592 Tj
+-278 TJm
+(Making) 71.1703 Tj
+-278 TJm
+(a) 11.4864 Tj
+-278 TJm
+(Windo) 63.1132 Tj
+15 TJm
+(ws) 27.5591 Tj
+-278 TJm
+(DLL) 40.1611 Tj
+[1 0 0 1 72 90.218] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 0 -29.403] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.974] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -51.071] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 51.071 Td
+/F128_0 9.963 Tf
+(29) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 33 33
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -8.911] cm
+0 g
+0 G
+[1 0 0 1 0 8.911] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 84.08 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -350.151 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+434.231 749.245 Td
+/F128_0 9.963 Tf
+(Programming) 54.7965 Tj
+-250 TJm
+(with) 17.7142 Tj
+-250 TJm
+(libbzip2) 32.6587 Tj
+[1 0 0 1 266.071 747.089] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -5.037] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(Ev) 11.0689 Tj
+15 TJm
+(erything) 33.2067 Tj
+-452 TJm
+(related) 27.1093 Tj
+-452 TJm
+(to) 7.75121 Tj
+-453 TJm
+(W) 9.40507 Tj
+40 TJm
+(indo) 17.7142 Tj
+25 TJm
+(ws) 11.0689 Tj
+-452 TJm
+(has) 13.2807 Tj
+-452 TJm
+(been) 18.8101 Tj
+-453 TJm
+(c) 4.42357 Tj
+1 TJm
+(ontrib) 23.8016 Tj
+20 TJm
+(uted) 17.1563 Tj
+-453 TJm
+(by) 9.963 Tj
+-452 TJm
+(Y) 7.19329 Tj
+110 TJm
+(oshioka) 30.9949 Tj
+-452 TJm
+(Tsuneo) 29.3311 Tj
+-452 TJm
+(\() 3.31768 Tj
+[1 0 0 1 390.56 710.037] cm
+0 g
+0 G
+[1 0 0 1 -390.56 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+390.56 710.037 Td
+/F130_0 9.963 Tf
+(QWF00133@niftyserve.or.jp) 149.445 Tj
+[1 0 0 1 540 710.037] cm
+0 g
+0 G
+[1 0 0 1 -540 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 698.082 Td
+/F128_0 9.963 Tf
+(/) 2.76971 Tj
+[1 0 0 1 80.825 698.082] cm
+0 g
+0 G
+[1 0 0 1 -80.825 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+80.825 698.082 Td
+/F130_0 9.963 Tf
+(tsuneo-y@is.aist-nara.ac.) 149.445 Tj
+1 TJm
+(jp) 11.9556 Tj
+[1 0 0 1 242.22 698.082] cm
+0 g
+0 G
+[1 0 0 1 -242.22 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+242.22 698.082 Td
+/F128_0 9.963 Tf
+(\),) 5.80843 Tj
+-697 TJm
+(so) 8.85711 Tj
+-608 TJm
+(you) 14.9445 Tj
+-608 TJm
+(should) 26.5713 Tj
+-607 TJm
+(send) 18.2622 Tj
+-608 TJm
+(your) 18.2622 Tj
+-608 TJm
+(queries) 28.7731 Tj
+-607 TJm
+(to) 7.75121 Tj
+-608 TJm
+(him) 15.5024 Tj
+-608 TJm
+(\(b) 8.29918 Tj
+20 TJm
+(ut) 7.75121 Tj
+-608 TJm
+(perha) 22.1278 Tj
+1 TJm
+(ps) 8.85711 Tj
+-608 TJm
+(Cc:) 13.8386 Tj
+-1026 TJm
+(me,) 14.6655 Tj
+[1 0 0 1 72 686.127] cm
+0 g
+0 G
+[1 0 0 1 -72 -686.127] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 686.127 Td
+/F130_0 9.963 Tf
+(jseward@bzip.org) 95.6448 Tj
+[1 0 0 1 167.641 686.127] cm
+0 g
+0 G
+[1 0 0 1 -167.641 -686.127] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+167.641 686.127 Td
+/F128_0 9.963 Tf
+(\).) 5.80843 Tj
+[1 0 0 1 72 684.344] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -674.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 664.209 Td
+/F128_0 9.963 Tf
+(My) 13.8386 Tj
+-367 TJm
+(v) 4.9815 Tj
+25 TJm
+(ague) 18.8101 Tj
+-367 TJm
+(understanding) 56.4504 Tj
+-367 TJm
+(of) 8.29918 Tj
+-367 TJm
+(what) 19.3681 Tj
+-367 TJm
+(to) 7.75121 Tj
+-367 TJm
+(do) 9.963 Tj
+-367 TJm
+(is:) 9.41504 Tj
+-544 TJm
+(using) 21.5898 Tj
+-367 TJm
+(V) 7.19329 Tj
+60 TJm
+(isual) 18.8201 Tj
+-367 TJm
+(C++) 17.8836 Tj
+-367 TJm
+(5.0,) 14.9445 Tj
+-397 TJm
+(open) 19.3681 Tj
+-367 TJm
+(the) 12.1748 Tj
+-367 TJm
+(project) 27.6673 Tj
+-367 TJm
+(\002le) 12.7327 Tj
+[1 0 0 1 432.966 664.209] cm
+0 g
+0 G
+[1 0 0 1 -432.966 -664.209] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+432.966 664.209 Td
+/F130_0 9.963 Tf
+(libbz2.dsp) 59.778 Tj
+[1 0 0 1 492.742 664.209] cm
+0 g
+0 G
+[1 0 0 1 -492.742 -664.209] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+492.742 664.209 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-396 TJm
+(and) 14.3866 Tj
+-367 TJm
+(b) 4.9815 Tj
+20 TJm
+(uild.) 17.9932 Tj
+72 652.254 Td
+(That') 21.5799 Tj
+55 TJm
+(s) 3.87561 Tj
+-250 TJm
+(all.) 12.4538 Tj
+[1 0 0 1 72 652.155] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -642.192] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 630.336 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-284 TJm
+(you) 14.9445 Tj
+-284 TJm
+(can') 17.1463 Tj
+18 TJm
+(t) 2.76971 Tj
+-284 TJm
+(open) 19.3681 Tj
+-285 TJm
+(the) 12.1748 Tj
+-284 TJm
+(project) 27.6673 Tj
+-284 TJm
+(\002le) 12.7327 Tj
+-284 TJm
+(for) 11.6169 Tj
+-284 TJm
+(some) 21.0319 Tj
+-284 TJm
+(reason,) 28.4942 Tj
+-293 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-284 TJm
+(a) 4.42357 Tj
+-284 TJm
+(ne) 9.40507 Tj
+25 TJm
+(w) 7.19329 Tj
+-284 TJm
+(one,) 16.8773 Tj
+-293 TJm
+(naming) 29.889 Tj
+-284 TJm
+(these) 20.474 Tj
+-284 TJm
+(\002les:) 19.378 Tj
+[1 0 0 1 424.505 630.336] cm
+0 g
+0 G
+[1 0 0 1 -424.505 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+424.505 630.336 Td
+/F130_0 9.963 Tf
+(blocksort.c) 65.7558 Tj
+[1 0 0 1 490.259 630.336] cm
+0 g
+0 G
+[1 0 0 1 -490.259 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+490.259 630.336 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 495.666 630.336] cm
+0 g
+0 G
+[1 0 0 1 -495.666 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+495.666 630.336 Td
+/F130_0 9.963 Tf
+(bzlib.c) 41.8446 Tj
+[1 0 0 1 537.509 630.336] cm
+0 g
+0 G
+[1 0 0 1 -537.509 -630.336] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+537.509 630.336 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 72 618.381] cm
+0 g
+0 G
+[1 0 0 1 -72 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 618.381 Td
+/F130_0 9.963 Tf
+(compress.c) 59.778 Tj
+[1 0 0 1 131.776 618.381] cm
+0 g
+0 G
+[1 0 0 1 -131.776 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+131.776 618.381 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 136.436 618.381] cm
+0 g
+0 G
+[1 0 0 1 -136.436 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+136.436 618.381 Td
+/F130_0 9.963 Tf
+(crctable.c) 59.778 Tj
+[1 0 0 1 196.211 618.381] cm
+0 g
+0 G
+[1 0 0 1 -196.211 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+196.211 618.381 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 200.871 618.381] cm
+0 g
+0 G
+[1 0 0 1 -200.871 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+200.871 618.381 Td
+/F130_0 9.963 Tf
+(decompress.c) 71.7336 Tj
+[1 0 0 1 272.602 618.381] cm
+0 g
+0 G
+[1 0 0 1 -272.602 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+272.602 618.381 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 277.262 618.381] cm
+0 g
+0 G
+[1 0 0 1 -277.262 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+277.262 618.381 Td
+/F130_0 9.963 Tf
+(huffman.c) 53.8002 Tj
+[1 0 0 1 331.06 618.381] cm
+0 g
+0 G
+[1 0 0 1 -331.06 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+331.06 618.381 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 335.72 618.381] cm
+0 g
+0 G
+[1 0 0 1 -335.72 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+335.72 618.381 Td
+/F130_0 9.963 Tf
+(randtable.c) 65.7558 Tj
+[1 0 0 1 401.473 618.381] cm
+0 g
+0 G
+[1 0 0 1 -401.473 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+403.562 618.381 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 420.037 618.381] cm
+0 g
+0 G
+[1 0 0 1 -420.037 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+420.037 618.381 Td
+/F130_0 9.963 Tf
+(libbz2.def) 59.778 Tj
+[1 0 0 1 479.812 618.381] cm
+0 g
+0 G
+[1 0 0 1 -479.812 -618.381] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+479.812 618.381 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-593 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-210 TJm
+(will) 15.5024 Tj
+-209 TJm
+(also) 16.0504 Tj
+72 606.426 Td
+(need) 18.8101 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(name) 21.5799 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(header) 26.5514 Tj
+-250 TJm
+(\002les) 16.6083 Tj
+[1 0 0 1 190.415 606.426] cm
+0 g
+0 G
+[1 0 0 1 -190.415 -606.426] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+190.415 606.426 Td
+/F130_0 9.963 Tf
+(bzlib.h) 41.8446 Tj
+[1 0 0 1 232.258 606.426] cm
+0 g
+0 G
+[1 0 0 1 -232.258 -606.426] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.749 606.426 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 251.625 606.426] cm
+0 g
+0 G
+[1 0 0 1 -251.625 -606.426] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+251.625 606.426 Td
+/F130_0 9.963 Tf
+(bzlib_private.h) 89.667 Tj
+[1 0 0 1 341.289 606.426] cm
+0 g
+0 G
+[1 0 0 1 -341.289 -606.426] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+341.289 606.426 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 604.862] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -594.899] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 584.508 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(don') 18.2622 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(VC++,) 27.5676 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(ma) 12.1748 Tj
+1 TJm
+(y) 4.9815 Tj
+-250 TJm
+(need) 18.8101 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(de\002ne) 24.3496 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(proprocessor) 51.4589 Tj
+-250 TJm
+(symbol) 29.341 Tj
+[1 0 0 1 363.634 584.508] cm
+0 g
+0 G
+[1 0 0 1 -363.634 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+363.634 584.508 Td
+/F130_0 9.963 Tf
+(_WIN32) 35.8668 Tj
+[1 0 0 1 399.5 584.508] cm
+0 g
+0 G
+[1 0 0 1 -399.5 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+399.5 584.508 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 582.351] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -572.389] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 562.59 Td
+/F128_0 9.963 Tf
+(Finally) 28.2351 Tj
+65 TJm
+(,) 2.49075 Tj
+[1 0 0 1 104.568 562.59] cm
+0 g
+0 G
+[1 0 0 1 -104.568 -562.59] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.568 562.59 Td
+/F130_0 9.963 Tf
+(dlltest.c) 53.8002 Tj
+[1 0 0 1 158.366 562.59] cm
+0 g
+0 G
+[1 0 0 1 -158.366 -562.59] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+160.856 562.59 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(sample) 28.2252 Tj
+-250 TJm
+(program) 33.7546 Tj
+-250 TJm
+(using) 21.5898 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(D) 7.19329 Tj
+1 TJm
+(LL.) 14.6655 Tj
+-500 TJm
+(It) 6.08739 Tj
+-250 TJm
+(has) 13.2807 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(project) 27.6673 Tj
+-250 TJm
+(\002le,) 15.2235 Tj
+[1 0 0 1 388.58 562.59] cm
+0 g
+0 G
+[1 0 0 1 -388.58 -562.59] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+388.58 562.59 Td
+/F130_0 9.963 Tf
+(dlltest.dsp) 65.7558 Tj
+[1 0 0 1 454.333 562.59] cm
+0 g
+0 G
+[1 0 0 1 -454.333 -562.59] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+454.333 562.59 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 560.433] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -550.471] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 540.672 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(just) 14.3965 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e\002le) 17.1563 Tj
+-250 TJm
+(fo) 8.29918 Tj
+1 TJm
+(r) 3.31768 Tj
+-250 TJm
+(V) 7.19329 Tj
+60 TJm
+(isual) 18.8201 Tj
+-250 TJm
+(C,) 9.13607 Tj
+-250 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(look) 17.7142 Tj
+-250 TJm
+(at) 7.19329 Tj
+[1 0 0 1 292.212 540.672] cm
+0 g
+0 G
+[1 0 0 1 -292.212 -540.672] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+292.212 540.672 Td
+/F130_0 9.963 Tf
+(makefile.msc) 71.7336 Tj
+[1 0 0 1 363.943 540.672] cm
+0 g
+0 G
+[1 0 0 1 -363.943 -540.672] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+363.943 540.672 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 538.516] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -528.553] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 518.755 Td
+/F128_0 9.963 Tf
+(Be) 11.0689 Tj
+-291 TJm
+(a) 4.42357 Tj
+15 TJm
+(w) 7.19329 Tj
+10 TJm
+(are) 12.1648 Tj
+-291 TJm
+(that) 14.9445 Tj
+-291 TJm
+(if) 6.08739 Tj
+-291 TJm
+(you) 14.9445 Tj
+-291 TJm
+(compile) 32.1008 Tj
+[1 0 0 1 192.07 518.755] cm
+0 g
+0 G
+[1 0 0 1 -192.07 -518.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+192.07 518.755 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 221.957 518.755] cm
+0 g
+0 G
+[1 0 0 1 -221.957 -518.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+224.857 518.755 Td
+/F128_0 9.963 Tf
+(itself) 19.926 Tj
+-291 TJm
+(on) 9.963 Tj
+-291 TJm
+(W) 9.40507 Tj
+40 TJm
+(in32,) 20.205 Tj
+-301 TJm
+(you) 14.9445 Tj
+-291 TJm
+(must) 19.378 Tj
+-291 TJm
+(set) 11.0689 Tj
+[1 0 0 1 346.842 518.755] cm
+0 g
+0 G
+[1 0 0 1 -346.842 -518.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+346.842 518.755 Td
+/F130_0 9.963 Tf
+(BZ_UNIX) 41.8446 Tj
+[1 0 0 1 388.685 518.755] cm
+0 g
+0 G
+[1 0 0 1 -388.685 -518.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+391.584 518.755 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-291 TJm
+(0) 4.9815 Tj
+-291 TJm
+(and) 14.3866 Tj
+[1 0 0 1 427.399 518.755] cm
+0 g
+0 G
+[1 0 0 1 -427.399 -518.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+427.399 518.755 Td
+/F130_0 9.963 Tf
+(BZ_LCCWIN32) 65.7558 Tj
+[1 0 0 1 493.153 518.755] cm
+0 g
+0 G
+[1 0 0 1 -493.153 -518.755] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+496.052 518.755 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-291 TJm
+(1,) 7.47225 Tj
+-301 TJm
+(in) 7.75121 Tj
+-291 TJm
+(the) 12.1748 Tj
+72 506.8 Td
+(\002le) 12.7327 Tj
+[1 0 0 1 87.223 506.799] cm
+0 g
+0 G
+[1 0 0 1 -87.223 -506.799] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+87.223 506.799 Td
+/F130_0 9.963 Tf
+(bzip2.c) 41.8446 Tj
+[1 0 0 1 129.066 506.799] cm
+0 g
+0 G
+[1 0 0 1 -129.066 -506.799] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+129.066 506.799 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(before) 25.4455 Tj
+-250 TJm
+(compiling.) 42.9007 Tj
+-310 TJm
+(Otherwi) 32.6488 Tj
+1 TJm
+(se) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(resulting) 34.8705 Tj
+-250 TJm
+(binary) 25.4555 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(on') 13.2807 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-250 TJm
+(correctly) 35.4085 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 504.643] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -494.68] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 484.882 Td
+/F128_0 9.963 Tf
+(I) 3.31768 Tj
+-250 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(en') 12.7228 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(tried) 18.2622 Tj
+-250 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(stuf) 14.9445 Tj
+25 TJm
+(f) 3.31768 Tj
+-249 TJm
+(myself,) 29.61 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(looks) 21.5898 Tj
+-250 TJm
+(plausible.) 38.4671 Tj
+[1 0 0 1 72 482.725] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -431.873] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(30) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 34 34
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 140.398 0] cm
+0 g
+0 G
+[1 0 0 1 -140.398 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -13.948] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -21.554] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -720] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 701.916 Td
+/F121_0 24.79 Tf
+(4.) 20.6749 Tj
+-278 TJm
+(Miscellanea) 139.171 Tj
+[1 0 0 1 72 701.606] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.135] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -14.116] cm
+0 g
+0 G
+[1 0 0 1 -72 -678.355] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 658.006 Td
+/F121_0 17.215 Tf
+(T) 10.5184 Tj
+80 TJm
+(ab) 20.0899 Tj
+10 TJm
+(le) 14.3573 Tj
+-278 TJm
+(of) 16.251 Tj
+-278 TJm
+(Contents) 74.5926 Tj
+[1 0 0 1 72 649.183] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -11.74] cm
+0 g
+0 G
+[1 0 0 1 -72 -637.443] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 637.443 Td
+/F128_0 9.963 Tf
+(4.1.) 14.9445 Tj
+-310 TJm
+(Limitations) 45.9494 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(comp) 22.1378 Tj
+1 TJm
+(ressed) 24.8975 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(format) 26.5614 Tj
+[1 0 0 1 255.231 637.443] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -260.212 -637.443] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+269.154 637.443 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 637.443] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -637.443] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 637.443 Td
+/F128_0 9.963 Tf
+(31) 9.963 Tj
+[1 0 0 1 516.09 637.443] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -625.488] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 625.488 Td
+/F128_0 9.963 Tf
+(4.2.) 14.9445 Tj
+-310 TJm
+(Portability) 42.0737 Tj
+-250 TJm
+(issues) 23.8016 Tj
+[1 0 0 1 158.395 625.488] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -163.376 -625.488] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+172.03 625.488 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 625.488] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -625.488] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 625.488 Td
+/F128_0 9.963 Tf
+(32) 9.963 Tj
+[1 0 0 1 516.09 625.488] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -613.533] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 613.533 Td
+/F128_0 9.963 Tf
+(4.3.) 14.9445 Tj
+-310 TJm
+(Reporting) 39.852 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ugs) 13.8386 Tj
+[1 0 0 1 150.993 613.533] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 -155.975 -613.533] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+166.115 613.533 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 613.533] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -613.533] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 613.533 Td
+/F128_0 9.963 Tf
+(32) 9.963 Tj
+[1 0 0 1 516.09 613.533] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -601.578] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 601.578 Td
+/F128_0 9.963 Tf
+(4.4.) 14.9445 Tj
+-310 TJm
+(Did) 14.9445 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(get) 12.1748 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(right) 18.8201 Tj
+-250 TJm
+(packa) 23.2337 Tj
+1 TJm
+(ge?) 13.8286 Tj
+[1 0 0 1 212.602 601.578] cm
+0 g
+0 G
+[1 0 0 1 3.088 0] cm
+0 g
+0 G
+[1 0 0 1 3.088 0] cm
+0 g
+0 G
+[1 0 0 1 -218.778 -601.578] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+229.109 601.578 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 601.578] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -601.578] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 601.578 Td
+/F128_0 9.963 Tf
+(33) 9.963 Tj
+[1 0 0 1 516.09 601.578] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.798] cm
+0 g
+0 G
+[1 0 0 1 -72 -589.623] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 589.623 Td
+/F128_0 9.963 Tf
+(4.5.) 14.9445 Tj
+-310 TJm
+(Further) 29.3311 Tj
+-250 TJm
+(Reading) 33.2067 Tj
+[1 0 0 1 155.058 589.623] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 -160.039 -589.623] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+170.361 589.623 Td
+/F143_0 9.963 Tf
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+-166 TJm
+(:) 2.76971 Tj
+-167 TJm
+(:) 2.76971 Tj
+[1 0 0 1 506.127 589.623] cm
+0 g
+0 G
+[1 0 0 1 -506.127 -589.623] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+506.127 589.623 Td
+/F128_0 9.963 Tf
+(34) 9.963 Tj
+[1 0 0 1 516.09 589.623] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -444.09 -2.157] cm
+0 g
+0 G
+[1 0 0 1 0 -9.135] cm
+0 g
+0 G
+[1 0 0 1 0 -9.631] cm
+0 g
+0 G
+[1 0 0 1 -72 -568.7] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 558.901 Td
+/F128_0 9.963 Tf
+(These) 23.7916 Tj
+-250 TJm
+(are) 12.1648 Tj
+-250 TJm
+(just) 14.3965 Tj
+-250 TJm
+(some) 21.0319 Tj
+-250 TJm
+(random) 30.437 Tj
+-249 TJm
+(thoughts) 34.3225 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(mine.) 22.4168 Tj
+-620 TJm
+(Y) 7.19329 Tj
+110 TJm
+(our) 13.2807 Tj
+-250 TJm
+(mileage) 31.5429 Tj
+-250 TJm
+(may) 17.1563 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(ary) 12.7228 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 556.744] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.631] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -547.113] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 524.48 Td
+/F121_0 20.659 Tf
+(4.1.) 34.4592 Tj
+-278 TJm
+(Limitations) 110.195 Tj
+-278 TJm
+(of) 19.5021 Tj
+-278 TJm
+(the) 30.9885 Tj
+-278 TJm
+(compres) 86.1067 Tj
+1 TJm
+(sed) 35.5955 Tj
+-278 TJm
+(\002le) 29.8523 Tj
+-278 TJm
+(f) 6.87945 Tj
+20 TJm
+(ormat) 57.3907 Tj
+[1 0 0 1 72 520.203] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.631] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -510.572] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 502.893 Td
+/F130_0 9.963 Tf
+(bzip2-1.0.X) 65.7558 Tj
+[1 0 0 1 137.753 502.893] cm
+0 g
+0 G
+[1 0 0 1 -137.753 -502.893] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+137.753 502.893 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+[1 0 0 1 143.405 502.893] cm
+0 g
+0 G
+[1 0 0 1 -143.405 -502.893] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+143.405 502.893 Td
+/F130_0 9.963 Tf
+(0.9.5) 29.889 Tj
+[1 0 0 1 173.293 502.893] cm
+0 g
+0 G
+[1 0 0 1 -173.293 -502.893] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+176.453 502.893 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 194 502.893] cm
+0 g
+0 G
+[1 0 0 1 -194 -502.893] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+194 502.893 Td
+/F130_0 9.963 Tf
+(0.9.0) 29.889 Tj
+[1 0 0 1 223.888 502.893] cm
+0 g
+0 G
+[1 0 0 1 -223.888 -502.893] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+227.048 502.893 Td
+/F128_0 9.963 Tf
+(use) 13.2807 Tj
+-317 TJm
+(e) 4.42357 Tj
+15 TJm
+(xactly) 24.3496 Tj
+-317 TJm
+(the) 12.1748 Tj
+-318 TJm
+(s) 3.87561 Tj
+1 TJm
+(ame) 16.5984 Tj
+-318 TJm
+(\002le) 12.7327 Tj
+-317 TJm
+(format) 26.5614 Tj
+-317 TJm
+(as) 8.29918 Tj
+-317 TJm
+(the) 12.1748 Tj
+-317 TJm
+(original) 30.9949 Tj
+-317 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion,) 26.8403 Tj
+[1 0 0 1 455.801 502.893] cm
+0 g
+0 G
+[1 0 0 1 -455.801 -502.893] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+455.801 502.893 Td
+/F130_0 9.963 Tf
+(bzip2-0.1) 53.8002 Tj
+[1 0 0 1 509.599 502.893] cm
+0 g
+0 G
+[1 0 0 1 -509.599 -502.893] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+509.599 502.893 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-1023 TJm
+(This) 17.7142 Tj
+72 490.938 Td
+(decision) 33.2067 Tj
+-222 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-221 TJm
+(made) 21.5799 Tj
+-222 TJm
+(in) 7.75121 Tj
+-222 TJm
+(the) 12.1748 Tj
+-222 TJm
+(interests) 33.2067 Tj
+-221 TJm
+(of) 8.29918 Tj
+-222 TJm
+(stability) 32.1107 Tj
+65 TJm
+(.) 2.49075 Tj
+-601 TJm
+(Creating) 34.3126 Tj
+-222 TJm
+(yet) 12.1748 Tj
+-222 TJm
+(another) 29.879 Tj
+-222 TJm
+(inc) 12.1748 Tj
+1 TJm
+(ompatible) 39.852 Tj
+-222 TJm
+(compressed) 47.0353 Tj
+-222 TJm
+(\002le) 12.7327 Tj
+-222 TJm
+(form) 19.3681 Tj
+1 TJm
+(at) 7.19329 Tj
+-222 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-222 TJm
+(create) 23.7817 Tj
+72 478.983 Td
+(further) 27.1093 Tj
+-250 TJm
+(confusion) 39.2941 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(disrupti) 30.4469 Tj
+1 TJm
+(on) 9.963 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(users.) 22.9647 Tj
+[1 0 0 1 72 476.826] cm
+0 g
+0 G
+[1 0 0 1 0 -9.632] cm
+0 g
+0 G
+[1 0 0 1 -72 -467.194] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 457.396 Td
+/F128_0 9.963 Tf
+(Ne) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ertheless,) 37.3513 Tj
+-233 TJm
+(this) 14.3965 Tj
+-230 TJm
+(is) 6.64532 Tj
+-229 TJm
+(not) 12.7327 Tj
+-230 TJm
+(a) 4.42357 Tj
+-229 TJm
+(painless) 32.1008 Tj
+-230 TJm
+(decisio) 28.2252 Tj
+1 TJm
+(n.) 7.47225 Tj
+-607 TJm
+(De) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(elopment) 37.0823 Tj
+-229 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-230 TJm
+(si) 6.64532 Tj
+1 TJm
+(nce) 13.8286 Tj
+-230 TJm
+(the) 12.1748 Tj
+-229 TJm
+(release) 27.6573 Tj
+-230 TJm
+(of) 8.29918 Tj
+[1 0 0 1 407.317 457.396] cm
+0 g
+0 G
+[1 0 0 1 -407.317 -457.396] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+407.317 457.396 Td
+/F130_0 9.963 Tf
+(bzip2-0.1) 53.8002 Tj
+[1 0 0 1 461.115 457.396] cm
+0 g
+0 G
+[1 0 0 1 -461.115 -457.396] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+463.402 457.396 Td
+/F128_0 9.963 Tf
+(in) 7.75121 Tj
+-229 TJm
+(August) 28.7831 Tj
+-230 TJm
+(1997) 19.926 Tj
+-229 TJm
+(has) 13.2807 Tj
+72 445.441 Td
+(sho) 13.8386 Tj
+25 TJm
+(wn) 12.1748 Tj
+-226 TJm
+(comple) 29.3311 Tj
+15 TJm
+(xities) 21.5898 Tj
+-225 TJm
+(in) 7.75121 Tj
+-226 TJm
+(the) 12.1748 Tj
+-226 TJm
+(\002le) 12.7327 Tj
+-226 TJm
+(forma) 23.7916 Tj
+1 TJm
+(t) 2.76971 Tj
+-226 TJm
+(which) 24.3496 Tj
+-226 TJm
+(slo) 11.6268 Tj
+25 TJm
+(w) 7.19329 Tj
+-226 TJm
+(do) 9.963 Tj
+25 TJm
+(wn) 12.1748 Tj
+-225 TJm
+(decompression) 59.768 Tj
+-226 TJm
+(and,) 16.8773 Tj
+-231 TJm
+(in) 7.75121 Tj
+-225 TJm
+(retrospect,) 41.7749 Tj
+-231 TJm
+(are) 12.1648 Tj
+-226 TJm
+(unnecess) 35.9664 Tj
+1 TJm
+(ary) 12.7228 Tj
+65 TJm
+(.) 2.49075 Tj
+-604 TJm
+(These) 23.7916 Tj
+-226 TJm
+(are:) 14.9345 Tj
+[1 0 0 1 72 443.284] cm
+0 g
+0 G
+[1 0 0 1 0 -29.062] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -414.222] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 414.222 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 414.222] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -414.222] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 414.222 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-265 TJm
+(run-length) 41.5059 Tj
+-265 TJm
+(encoder) 31.5329 Tj
+40 TJm
+(,) 2.49075 Tj
+-269 TJm
+(which) 24.3496 Tj
+-266 TJm
+(is) 6.64532 Tj
+-265 TJm
+(the) 12.1748 Tj
+-265 TJm
+(\002rst) 15.5024 Tj
+-265 TJm
+(of) 8.29918 Tj
+-266 TJm
+(the) 12.1748 Tj
+-265 TJm
+(compression) 50.363 Tj
+-265 TJm
+(transformations,) 65.0285 Tj
+-269 TJm
+(is) 6.64532 Tj
+-265 TJm
+(entirely) 30.437 Tj
+-265 TJm
+(irrele) 21.0219 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ant.) 14.6655 Tj
+-712 TJm
+(The) 15.4925 Tj
+-265 TJm
+(original) 30.9949 Tj
+86.944 402.267 Td
+(purpose) 31.5429 Tj
+-301 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-301 TJm
+(to) 7.75121 Tj
+-301 TJm
+(protect) 27.6673 Tj
+-301 TJm
+(the) 12.1748 Tj
+-301 TJm
+(sorting) 27.6772 Tj
+-301 TJm
+(algorit) 26.0134 Tj
+1 TJm
+(hm) 12.7327 Tj
+-301 TJm
+(from) 19.3681 Tj
+-301 TJm
+(the) 12.1748 Tj
+-301 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+-301 TJm
+(w) 7.19329 Tj
+10 TJm
+(orst) 14.9445 Tj
+-301 TJm
+(case) 17.1463 Tj
+-301 TJm
+(input:) 23.2536 Tj
+-412 TJm
+(a) 4.42357 Tj
+-301 TJm
+(string) 22.6957 Tj
+-301 TJm
+(of) 8.29918 Tj
+-301 TJm
+(repeated) 33.7447 Tj
+-301 TJm
+(symbols.) 35.7074 Tj
+-926 TJm
+(But) 14.3965 Tj
+86.944 390.312 Td
+(algorithm) 38.7461 Tj
+-274 TJm
+(steps) 19.926 Tj
+-274 TJm
+(Q6a) 16.5984 Tj
+-275 TJm
+(and) 14.3866 Tj
+-274 TJm
+(Q6b) 17.1563 Tj
+-274 TJm
+(in) 7.75121 Tj
+-274 TJm
+(the) 12.1748 Tj
+-275 TJm
+(original) 30.9949 Tj
+-274 TJm
+(Burro) 23.2437 Tj
+25 TJm
+(ws-Wheeler) 48.1313 Tj
+-274 TJm
+(technical) 35.9664 Tj
+-274 TJm
+(report) 23.7916 Tj
+-274 TJm
+(\(SRC-124\)) 43.7276 Tj
+-274 TJm
+(sho) 13.8386 Tj
+25 TJm
+(w) 7.19329 Tj
+-275 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-274 TJm
+(repeats) 28.2152 Tj
+-274 TJm
+(can) 13.8286 Tj
+86.944 378.357 Td
+(be) 9.40507 Tj
+-250 TJm
+(handled) 31.5429 Tj
+-250 TJm
+(without) 30.4469 Tj
+-250 TJm
+(dif) 11.0689 Tj
+25 TJm
+(\002culty) 25.4654 Tj
+-249 TJm
+(in) 7.75121 Tj
+-250 TJm
+(block) 22.1378 Tj
+-250 TJm
+(sorting.) 30.168 Tj
+[1 0 0 1 269.617 378.357] cm
+0 g
+0 G
+[1 0 0 1 -197.617 -21.587] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -356.77] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 356.77 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 356.77] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -356.77] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 356.77 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-293 TJm
+(randomisation) 57.0083 Tj
+-293 TJm
+(mechanism) 45.3815 Tj
+-293 TJm
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-293 TJm
+(really) 22.6858 Tj
+-293 TJm
+(need) 18.8101 Tj
+-293 TJm
+(to) 7.75121 Tj
+-293 TJm
+(be) 9.40507 Tj
+-293 TJm
+(there.) 22.4068 Tj
+-879 TJm
+(Udi) 14.9445 Tj
+-294 TJm
+(Man) 18.2622 Tj
+1 TJm
+(ber) 12.7228 Tj
+-294 TJm
+(and) 14.3866 Tj
+-293 TJm
+(Gene) 21.0219 Tj
+-293 TJm
+(Myers) 25.4555 Tj
+-293 TJm
+(published) 38.7461 Tj
+-293 TJm
+(a) 4.42357 Tj
+-293 TJm
+(suf) 12.1748 Tj
+25 TJm
+(\002x) 10.5209 Tj
+86.944 344.815 Td
+(array) 20.464 Tj
+-238 TJm
+(construction) 49.2571 Tj
+-238 TJm
+(algorithm) 38.7461 Tj
+-239 TJm
+(a) 4.42357 Tj
+-238 TJm
+(fe) 7.74125 Tj
+25 TJm
+(w) 7.19329 Tj
+-238 TJm
+(years) 21.0219 Tj
+-238 TJm
+(back,) 21.3009 Tj
+-241 TJm
+(which) 24.3496 Tj
+-238 TJm
+(can) 13.8286 Tj
+-238 TJm
+(be) 9.40507 Tj
+-239 TJm
+(emplo) 24.9075 Tj
+10 TJm
+(yed) 14.3866 Tj
+-238 TJm
+(to) 7.75121 Tj
+-238 TJm
+(sort) 14.9445 Tj
+-239 TJm
+(a) 4.42357 Tj
+1 TJm
+(n) 4.9815 Tj
+15 TJm
+(y) 4.9815 Tj
+-239 TJm
+(block,) 24.6285 Tj
+-240 TJm
+(no) 9.963 Tj
+-239 TJm
+(matter) 25.4555 Tj
+-238 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-238 TJm
+(repetiti) 28.2252 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e,) 6.91432 Tj
+86.944 332.86 Td
+(in) 7.75121 Tj
+-229 TJm
+(O\(N) 17.7043 Tj
+-230 TJm
+(log) 12.7327 Tj
+-229 TJm
+(N\)) 10.511 Tj
+-230 TJm
+(time.) 20.205 Tj
+-606 TJm
+(Subsequent) 45.9394 Tj
+-229 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-229 TJm
+(by) 9.963 Tj
+-230 TJm
+(K) 7.19329 Tj
+15 TJm
+(unihik) 25.4654 Tj
+10 TJm
+(o) 4.9815 Tj
+-229 TJm
+(Sadakane) 38.1782 Tj
+-230 TJm
+(ha) 9.40507 Tj
+1 TJm
+(s) 3.87561 Tj
+-230 TJm
+(produced) 37.0723 Tj
+-229 TJm
+(a) 4.42357 Tj
+-230 TJm
+(deri) 15.4925 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ati) 9.963 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-229 TJm
+(O\(N) 17.7043 Tj
+-229 TJm
+(\(log) 16.0504 Tj
+-230 TJm
+(N\)^2\)) 23.4828 Tj
+-229 TJm
+(algorithm) 38.7461 Tj
+86.944 320.905 Td
+(which) 24.3496 Tj
+-250 TJm
+(usually) 28.7831 Tj
+-250 TJm
+(outperforms) 48.6991 Tj
+-250 TJm
+(th) 7.75121 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(Manber) 30.9849 Tj
+20 TJm
+(-Myers) 28.7731 Tj
+-250 TJm
+(algorithm.) 41.2369 Tj
+[1 0 0 1 314.189 320.905] cm
+0 g
+0 G
+[1 0 0 1 -242.189 -11.789] cm
+0 g
+0 G
+[1 0 0 1 -72 -309.116] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 299.318 Td
+/F128_0 9.963 Tf
+(I) 3.31768 Tj
+-248 TJm
+(could) 22.1378 Tj
+-248 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-248 TJm
+(changed) 33.1967 Tj
+-248 TJm
+(to) 7.75121 Tj
+-248 TJm
+(Sadakane') 41.4959 Tj
+55 TJm
+(s) 3.87561 Tj
+-248 TJm
+(algor) 20.474 Tj
+1 TJm
+(ithm,) 20.7629 Tj
+-249 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-248 TJm
+(I) 3.31768 Tj
+-248 TJm
+(\002nd) 15.5024 Tj
+-248 TJm
+(it) 5.53943 Tj
+-248 TJm
+(to) 7.75121 Tj
+-248 TJm
+(be) 9.40507 Tj
+-248 TJm
+(slo) 11.6268 Tj
+25 TJm
+(wer) 14.9345 Tj
+-248 TJm
+(than) 17.1563 Tj
+[1 0 0 1 392.444 299.318] cm
+0 g
+0 G
+[1 0 0 1 -392.444 -299.318] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+392.444 299.318 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 422.332 299.318] cm
+0 g
+0 G
+[1 0 0 1 -422.332 -299.318] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+422.332 299.318 Td
+/F128_0 9.963 Tf
+(') 3.31768 Tj
+55 TJm
+(s) 3.87561 Tj
+-248 TJm
+(e) 4.42357 Tj
+15 TJm
+(xisting) 27.1292 Tj
+-248 TJm
+(algorithm) 38.7461 Tj
+-248 TJm
+(for) 11.6169 Tj
+-248 TJm
+(most) 19.378 Tj
+86.944 287.363 Td
+(inputs,) 26.8503 Tj
+-369 TJm
+(and) 14.3866 Tj
+-346 TJm
+(the) 12.1748 Tj
+-346 TJm
+(randomis) 37.0823 Tj
+1 TJm
+(ation) 19.926 Tj
+-346 TJm
+(mechanism) 45.3815 Tj
+-346 TJm
+(p) 4.9815 Tj
+1 TJm
+(rotects) 26.5614 Tj
+-346 TJm
+(adequately) 43.1597 Tj
+-345 TJm
+(ag) 9.40507 Tj
+5 TJm
+(ainst) 18.8201 Tj
+-346 TJm
+(bad) 14.3866 Tj
+-346 TJm
+(cases) 21.0219 Tj
+1 TJm
+(.) 2.49075 Tj
+-1194 TJm
+(I) 3.31768 Tj
+-346 TJm
+(didn') 21.0319 Tj
+18 TJm
+(t) 2.76971 Tj
+-346 TJm
+(think) 20.4839 Tj
+-345 TJm
+(it) 5.53943 Tj
+-346 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-345 TJm
+(a) 4.42357 Tj
+-346 TJm
+(good) 19.926 Tj
+86.944 275.408 Td
+(tradeof) 28.2152 Tj
+25 TJm
+(f) 3.31768 Tj
+-261 TJm
+(to) 7.75121 Tj
+-262 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e.) 6.91432 Tj
+-690 TJm
+(P) 5.53943 Tj
+15 TJm
+(artly) 18.2622 Tj
+-261 TJm
+(this) 14.3965 Tj
+-262 TJm
+(is) 6.64532 Tj
+-261 TJm
+(due) 14.3866 Tj
+-262 TJm
+(to) 7.75121 Tj
+-261 TJm
+(the) 12.1748 Tj
+-262 TJm
+(f) 3.31768 Tj
+10 TJm
+(act) 11.6169 Tj
+-261 TJm
+(that) 14.9445 Tj
+-262 TJm
+(I) 3.31768 Tj
+-262 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-261 TJm
+(not) 12.7327 Tj
+-262 TJm
+(\003ooded) 29.889 Tj
+-261 TJm
+(with) 17.7142 Tj
+-262 TJm
+(email) 22.1378 Tj
+-261 TJm
+(complaints) 43.7276 Tj
+-262 TJm
+(about) 22.1378 Tj
+[1 0 0 1 479.557 275.408] cm
+0 g
+0 G
+[1 0 0 1 -479.557 -275.408] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+479.557 275.408 Td
+/F130_0 9.963 Tf
+(bzip2-0.1) 53.8002 Tj
+[1 0 0 1 533.355 275.408] cm
+0 g
+0 G
+[1 0 0 1 -533.355 -275.408] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+533.355 275.408 Td
+/F128_0 9.963 Tf
+(') 3.31768 Tj
+55 TJm
+(s) 3.87561 Tj
+86.944 263.453 Td
+(performance) 50.343 Tj
+-250 TJm
+(on) 9.963 Tj
+-250 TJm
+(repetiti) 28.2252 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(dat) 12.1748 Tj
+1 TJm
+(a,) 6.91432 Tj
+-250 TJm
+(so) 8.85711 Tj
+-250 TJm
+(perhaps) 30.9849 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(isn') 14.9445 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(problem) 33.2067 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(real) 14.9345 Tj
+-250 TJm
+(inputs.) 26.8503 Tj
+[1 0 0 1 72 261.296] cm
+0 g
+0 G
+[1 0 0 1 0 -9.632] cm
+0 g
+0 G
+[1 0 0 1 -72 -251.664] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 241.866 Td
+/F128_0 9.963 Tf
+(Probably) 35.9764 Tj
+-289 TJm
+(the) 12.1748 Tj
+-288 TJm
+(best) 16.0504 Tj
+-289 TJm
+(long-term) 39.2941 Tj
+-288 TJm
+(solution,) 34.6015 Tj
+-299 TJm
+(and) 14.3866 Tj
+-288 TJm
+(the) 12.1748 Tj
+-289 TJm
+(one) 14.3866 Tj
+-289 TJm
+(I) 3.31768 Tj
+-288 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-289 TJm
+(incorporated) 50.353 Tj
+-288 TJm
+(into) 15.5024 Tj
+-289 TJm
+(0.9.5) 19.926 Tj
+-289 TJm
+(and) 14.3866 Tj
+-288 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e,) 6.91432 Tj
+-298 TJm
+(is) 6.64532 Tj
+-289 TJm
+(to) 7.75121 Tj
+-289 TJm
+(use) 13.2807 Tj
+-288 TJm
+(the) 12.1748 Tj
+-289 TJm
+(e) 4.42357 Tj
+15 TJm
+(xisting) 27.1292 Tj
+86.944 229.911 Td
+(sorting) 27.6772 Tj
+-451 TJm
+(algorithm) 38.7461 Tj
+-451 TJm
+(initially) 31.0049 Tj
+65 TJm
+(,) 2.49075 Tj
+-502 TJm
+(and) 14.3866 Tj
+-451 TJm
+(f) 3.31768 Tj
+10 TJm
+(all) 9.963 Tj
+-452 TJm
+(back) 18.8101 Tj
+-451 TJm
+(to) 7.75121 Tj
+-451 TJm
+(a) 4.42357 Tj
+-452 TJm
+(O\(N) 17.7043 Tj
+-451 TJm
+(\(log) 16.0504 Tj
+-451 TJm
+(N\)^2\)) 23.4828 Tj
+-451 TJm
+(algorithm) 38.7461 Tj
+-452 TJm
+(if) 6.08739 Tj
+-451 TJm
+(the) 12.1748 Tj
+-451 TJm
+(standard) 33.7546 Tj
+-452 TJm
+(al) 7.19329 Tj
+1 TJm
+(gorithm) 31.5528 Tj
+-452 TJm
+(gets) 16.0504 Tj
+-451 TJm
+(into) 15.5024 Tj
+86.944 217.956 Td
+(dif) 11.0689 Tj
+25 TJm
+(\002culties.) 34.0436 Tj
+[1 0 0 1 72 217.856] cm
+0 g
+0 G
+[1 0 0 1 0 -21.487] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -196.369] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 196.369 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 196.369] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -196.369] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 196.369 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-299 TJm
+(compressed) 47.0353 Tj
+-299 TJm
+(\002le) 12.7327 Tj
+-299 TJm
+(format) 26.5614 Tj
+-299 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-299 TJm
+(ne) 9.40507 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-299 TJm
+(designed) 35.4185 Tj
+-299 TJm
+(to) 7.75121 Tj
+-299 TJm
+(be) 9.40507 Tj
+-299 TJm
+(handled) 31.5429 Tj
+-299 TJm
+(by) 9.963 Tj
+-299 TJm
+(a) 4.42357 Tj
+-299 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-312 TJm
+(and) 14.3866 Tj
+-299 TJm
+(I) 3.31768 Tj
+-299 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-299 TJm
+(had) 14.3866 Tj
+-299 TJm
+(to) 7.75121 Tj
+-299 TJm
+(jump) 20.4839 Tj
+-299 TJm
+(though) 27.6772 Tj
+-299 TJm
+(some) 21.0319 Tj
+86.944 184.414 Td
+(hoops) 23.8016 Tj
+-278 TJm
+(to) 7.75121 Tj
+-277 TJm
+(produce) 32.0908 Tj
+-278 TJm
+(an) 9.40507 Tj
+-277 TJm
+(ef) 7.74125 Tj
+25 TJm
+(\002cient) 24.9075 Tj
+-278 TJm
+(implementation) 62.5477 Tj
+-277 TJm
+(of) 8.29918 Tj
+-278 TJm
+(decompression.) 62.2588 Tj
+-786 TJm
+(It') 9.40507 Tj
+55 TJm
+(s) 3.87561 Tj
+-278 TJm
+(a) 4.42357 Tj
+-277 TJm
+(bit) 10.5209 Tj
+-278 TJm
+(hairy) 20.474 Tj
+65 TJm
+(.) 2.49075 Tj
+-786 TJm
+(T) 6.08739 Tj
+35 TJm
+(ry) 8.29918 Tj
+-278 TJm
+(passing) 29.889 Tj
+[1 0 0 1 468.269 184.414] cm
+0 g
+0 G
+[1 0 0 1 -468.269 -184.414] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+468.269 184.414 Td
+/F130_0 9.963 Tf
+(decompress.c) 71.7336 Tj
+[1 0 0 1 540 184.414] cm
+0 g
+0 G
+[1 0 0 1 -540 -184.414] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 172.459 Td
+/F128_0 9.963 Tf
+(through) 30.9949 Tj
+-268 TJm
+(the) 12.1748 Tj
+-268 TJm
+(C) 6.64532 Tj
+-268 TJm
+(preprocessor) 50.901 Tj
+-268 TJm
+(and) 14.3866 Tj
+-268 TJm
+(you') 18.2622 Tj
+10 TJm
+(ll) 5.53943 Tj
+-268 TJm
+(see) 12.7228 Tj
+-268 TJm
+(what) 19.3681 Tj
+-268 TJm
+(I) 3.31768 Tj
+-269 TJm
+(mea) 16.5984 Tj
+1 TJm
+(n.) 7.47225 Tj
+-729 TJm
+(Much) 23.2437 Tj
+-268 TJm
+(of) 8.29918 Tj
+-269 TJm
+(this) 14.3965 Tj
+-268 TJm
+(comple) 29.3311 Tj
+15 TJm
+(xit) 10.5209 Tj
+1 TJm
+(y) 4.9815 Tj
+-269 TJm
+(could) 22.1378 Tj
+-268 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-268 TJm
+(been) 18.8101 Tj
+-268 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+20 TJm
+(oided) 22.1378 Tj
+-268 TJm
+(if) 6.08739 Tj
+-268 TJm
+(the) 12.1748 Tj
+86.944 160.503 Td
+(compressed) 47.0353 Tj
+-250 TJm
+(size) 15.4925 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(each) 18.2522 Tj
+-250 TJm
+(bloc) 17.1563 Tj
+1 TJm
+(k) 4.9815 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-250 TJm
+(recorded) 34.8506 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(data) 16.5984 Tj
+-250 TJm
+(stream.) 29.0521 Tj
+[1 0 0 1 368.754 160.503] cm
+0 g
+0 G
+[1 0 0 1 -296.754 -21.586] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -138.917] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 138.917 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 138.917] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -138.917] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 138.917 Td
+/F128_0 9.963 Tf
+(An) 12.1748 Tj
+-250 TJm
+(Adler) 22.6858 Tj
+20 TJm
+(-32) 13.2807 Tj
+-250 TJm
+(checksum,) 42.3328 Tj
+-250 TJm
+(rather) 23.2337 Tj
+-249 TJm
+(than) 17.1563 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(CRC32) 29.899 Tj
+-250 TJm
+(checksum,) 42.3328 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(f) 3.31768 Tj
+10 TJm
+(aster) 18.8101 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(compute.) 36.8033 Tj
+[1 0 0 1 424.934 138.917] cm
+0 g
+0 G
+[1 0 0 1 -352.934 -11.789] cm
+0 g
+0 G
+[1 0 0 1 -72 -127.128] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 117.33 Td
+/F128_0 9.963 Tf
+(It) 6.08739 Tj
+-349 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-349 TJm
+(be) 9.40507 Tj
+-348 TJm
+(f) 3.31768 Tj
+10 TJm
+(air) 10.511 Tj
+-349 TJm
+(to) 7.75121 Tj
+-349 TJm
+(say) 13.2807 Tj
+-349 TJm
+(that) 14.9445 Tj
+-348 TJm
+(the) 12.1748 Tj
+[1 0 0 1 201.979 117.33] cm
+0 g
+0 G
+[1 0 0 1 -201.979 -117.33] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+201.979 117.33 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 231.867 117.33] cm
+0 g
+0 G
+[1 0 0 1 -231.867 -117.33] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+235.342 117.33 Td
+/F128_0 9.963 Tf
+(format) 26.5614 Tj
+-349 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-348 TJm
+(frozen) 25.4455 Tj
+-349 TJm
+(before) 25.4455 Tj
+-349 TJm
+(I) 3.31768 Tj
+-349 TJm
+(properl) 28.7731 Tj
+1 TJm
+(y) 4.9815 Tj
+-349 TJm
+(and) 14.3866 Tj
+-349 TJm
+(fully) 18.8201 Tj
+-349 TJm
+(understood) 44.2756 Tj
+-348 TJm
+(the) 12.1748 Tj
+-349 TJm
+(performance) 50.343 Tj
+72 105.375 Td
+(consequences) 54.7766 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(doing) 22.6957 Tj
+-250 TJm
+(so.) 11.3479 Tj
+[1 0 0 1 72 103.218] cm
+0 g
+0 G
+[1 0 0 1 0 -9.631] cm
+0 g
+0 G
+[1 0 0 1 -72 -93.587] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 83.788 Td
+/F128_0 9.963 Tf
+(Impro) 24.3496 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(ements) 28.2252 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(I) 3.31768 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(as) 8.29918 Tj
+-250 TJm
+(abl) 12.1748 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(incorporate) 45.3715 Tj
+-250 TJm
+(into) 15.5024 Tj
+-250 TJm
+(0.9.0,) 22.4168 Tj
+-250 TJm
+(despite) 28.2252 Tj
+-250 TJm
+(using) 21.5898 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(same) 20.474 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(for) 11.6169 Tj
+1 TJm
+(mat,) 17.4353 Tj
+-250 TJm
+(are:) 14.9345 Tj
+[1 0 0 1 72 81.631] cm
+0 g
+0 G
+[1 0 0 1 0 -30.779] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(31) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 35 35
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -6.854] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 116.329 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -382.4 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+498.728 749.245 Td
+/F128_0 9.963 Tf
+(Miscellanea) 48.1412 Tj
+[1 0 0 1 266.071 749.146] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -7.094] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -31.517] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 710.037 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 710.037] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 710.037 Td
+/F128_0 9.963 Tf
+(Single) 25.4654 Tj
+-202 TJm
+(ar) 7.74125 Tj
+1 TJm
+(ray) 12.7228 Tj
+-202 TJm
+(implementation) 62.5477 Tj
+-201 TJm
+(of) 8.29918 Tj
+-202 TJm
+(the) 12.1748 Tj
+-202 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(erse) 16.0404 Tj
+-201 TJm
+(BWT) 22.1378 Tj
+74 TJm
+(.) 2.49075 Tj
+-403 TJm
+(This) 17.7142 Tj
+-202 TJm
+(signi\002cantly) 49.267 Tj
+-201 TJm
+(speeds) 26.5614 Tj
+-202 TJm
+(up) 9.963 Tj
+-202 TJm
+(decom) 26.5614 Tj
+1 TJm
+(pression,) 35.6974 Tj
+-212 TJm
+(presuma) 33.7546 Tj
+1 TJm
+(bly) 12.7327 Tj
+-202 TJm
+(because) 31.5329 Tj
+86.944 698.082 Td
+(it) 5.53943 Tj
+-250 TJm
+(reduces) 30.427 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(number) 30.437 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(cach) 18.2522 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(misses.) 29.0621 Tj
+[1 0 0 1 240.496 698.082] cm
+0 g
+0 G
+[1 0 0 1 -168.496 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 676.164 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 676.164] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -676.164] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 676.164 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(aster) 18.8101 Tj
+-314 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(erse) 16.0404 Tj
+-315 TJm
+(MTF) 20.4839 Tj
+-314 TJm
+(transform) 38.7361 Tj
+-314 TJm
+(for) 11.6169 Tj
+-315 TJm
+(lar) 10.511 Tj
+18 TJm
+(ge) 9.40507 Tj
+-314 TJm
+(MTF) 20.4839 Tj
+-314 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues.) 22.9647 Tj
+-504 TJm
+(The) 15.4925 Tj
+-314 TJm
+(ne) 9.40507 Tj
+25 TJm
+(w) 7.19329 Tj
+-315 TJm
+(i) 2.76971 Tj
+1 TJm
+(mplementation) 59.778 Tj
+-315 TJm
+(is) 6.64532 Tj
+-314 TJm
+(based) 22.6858 Tj
+-314 TJm
+(on) 9.963 Tj
+-315 TJm
+(the) 12.1748 Tj
+-314 TJm
+(notion) 25.4654 Tj
+-315 TJm
+(of) 8.29918 Tj
+-314 TJm
+(sliding) 27.1292 Tj
+86.944 664.209 Td
+(blocks) 26.0134 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(v) 4.9815 Tj
+25 TJm
+(alues.) 22.9647 Tj
+[1 0 0 1 153.932 664.209] cm
+0 g
+0 G
+[1 0 0 1 -81.932 -21.918] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 642.291 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 642.291] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -86.944 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 642.291 Td
+/F130_0 9.963 Tf
+(bzip2-0.9.0) 65.7558 Tj
+[1 0 0 1 152.697 642.291] cm
+0 g
+0 G
+[1 0 0 1 -152.697 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+155.412 642.291 Td
+/F128_0 9.963 Tf
+(no) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-272 TJm
+(reads) 21.0219 Tj
+-273 TJm
+(and) 14.3866 Tj
+-272 TJm
+(writes) 24.3496 Tj
+-272 TJm
+(\002les) 16.6083 Tj
+-273 TJm
+(with) 17.7142 Tj
+[1 0 0 1 282.68 642.291] cm
+0 g
+0 G
+[1 0 0 1 -282.68 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+282.68 642.291 Td
+/F130_0 9.963 Tf
+(fread) 29.889 Tj
+[1 0 0 1 312.568 642.291] cm
+0 g
+0 G
+[1 0 0 1 -312.568 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+315.282 642.291 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 332.383 642.291] cm
+0 g
+0 G
+[1 0 0 1 -332.383 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+332.383 642.291 Td
+/F130_0 9.963 Tf
+(fwrite) 35.8668 Tj
+[1 0 0 1 368.248 642.291] cm
+0 g
+0 G
+[1 0 0 1 -368.248 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+368.248 642.291 Td
+/F128_0 9.963 Tf
+(;) 2.76971 Tj
+-284 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-272 TJm
+(0.1) 12.4538 Tj
+-272 TJm
+(used) 18.2622 Tj
+[1 0 0 1 441.882 642.291] cm
+0 g
+0 G
+[1 0 0 1 -441.882 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+441.882 642.291 Td
+/F130_0 9.963 Tf
+(putc) 23.9112 Tj
+[1 0 0 1 465.792 642.291] cm
+0 g
+0 G
+[1 0 0 1 -465.792 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+468.507 642.291 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 485.607 642.291] cm
+0 g
+0 G
+[1 0 0 1 -485.607 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+485.607 642.291 Td
+/F130_0 9.963 Tf
+(getc) 23.9112 Tj
+[1 0 0 1 509.517 642.291] cm
+0 g
+0 G
+[1 0 0 1 -509.517 -642.291] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+509.517 642.291 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-755 TJm
+(Duh!) 20.474 Tj
+86.944 630.336 Td
+(W) 9.40507 Tj
+80 TJm
+(ell,) 12.4538 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(li) 5.53943 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(learn.) 22.4068 Tj
+[1 0 0 1 184.248 630.336] cm
+0 g
+0 G
+[1 0 0 1 -112.248 -12.119] cm
+0 g
+0 G
+[1 0 0 1 -72 -618.217] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 608.418 Td
+/F128_0 9.963 Tf
+(Further) 29.3311 Tj
+-304 TJm
+(ahead,) 25.7245 Tj
+-318 TJm
+(it) 5.53943 Tj
+-305 TJm
+(w) 7.19329 Tj
+10 TJm
+(ould) 17.7142 Tj
+-304 TJm
+(be) 9.40507 Tj
+-304 TJm
+(nice) 16.5984 Tj
+-305 TJm
+(to) 7.75121 Tj
+-304 TJm
+(be) 9.40507 Tj
+-304 TJm
+(able) 16.5984 Tj
+-305 TJm
+(to) 7.75121 Tj
+-304 TJm
+(do) 9.963 Tj
+-305 TJm
+(random) 30.437 Tj
+-304 TJm
+(access) 25.4455 Tj
+-304 TJm
+(into) 15.5024 Tj
+-305 TJm
+(\002l) 8.30914 Tj
+1 TJm
+(es.) 10.7899 Tj
+-947 TJm
+(This) 17.7142 Tj
+-304 TJm
+(will) 15.5024 Tj
+-305 TJm
+(require) 28.2152 Tj
+-304 TJm
+(some) 21.0319 Tj
+-304 TJm
+(careful) 27.6573 Tj
+-305 TJm
+(design) 26.0134 Tj
+-304 TJm
+(of) 8.29918 Tj
+72 596.463 Td
+(compressed) 47.0353 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(formats.) 32.9277 Tj
+[1 0 0 1 72 594.306] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -584.344] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 561.71 Td
+/F121_0 20.659 Tf
+(4.2.) 34.4592 Tj
+-278 TJm
+(P) 13.7796 Tj
+40 TJm
+(or) 20.659 Tj
+-20 TJm
+(tability) 66.584 Tj
+-278 TJm
+(issues) 64.3115 Tj
+[1 0 0 1 72 557.434] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -547.472] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 539.793 Td
+/F128_0 9.963 Tf
+(After) 21.0219 Tj
+-250 TJm
+(some) 21.0319 Tj
+-250 TJm
+(consideration,) 56.1714 Tj
+-250 TJm
+(I) 3.31768 Tj
+-250 TJm
+(h) 4.9815 Tj
+1 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(decided) 30.9849 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(use) 13.2807 Tj
+-250 TJm
+(GNU) 21.5799 Tj
+[1 0 0 1 303.231 539.793] cm
+0 g
+0 G
+[1 0 0 1 -303.231 -539.793] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+303.231 539.793 Td
+/F130_0 9.963 Tf
+(autoconf) 47.8224 Tj
+[1 0 0 1 351.052 539.793] cm
+0 g
+0 G
+[1 0 0 1 -351.052 -539.793] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+353.542 539.793 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-250 TJm
+(con\002gure) 37.6303 Tj
+-250 TJm
+(0.9.5) 19.926 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(1.0.) 14.9445 Tj
+[1 0 0 1 72 537.636] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -527.673] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 517.875 Td
+/F130_0 9.963 Tf
+(autoconf) 47.8224 Tj
+[1 0 0 1 119.821 517.875] cm
+0 g
+0 G
+[1 0 0 1 -119.821 -517.875] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+119.821 517.875 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-502 TJm
+(admirable) 39.842 Tj
+-452 TJm
+(and) 14.3866 Tj
+-452 TJm
+(w) 7.19329 Tj
+10 TJm
+(onderful) 33.7546 Tj
+-452 TJm
+(though) 27.6772 Tj
+-451 TJm
+(it) 5.53943 Tj
+-452 TJm
+(is,) 9.13607 Tj
+-503 TJm
+(mainly) 27.6772 Tj
+-451 TJm
+(assists) 25.4654 Tj
+-452 TJm
+(with) 17.7142 Tj
+-452 TJm
+(portability) 41.5158 Tj
+-452 TJm
+(problems) 37.0823 Tj
+-451 TJm
+(between) 33.1967 Tj
+-452 TJm
+(Unix-lik) 33.7646 Tj
+10 TJm
+(e) 4.42357 Tj
+72 505.92 Td
+(platforms.) 40.6789 Tj
+-1398 TJm
+(But) 14.3965 Tj
+[1 0 0 1 144.784 505.92] cm
+0 g
+0 G
+[1 0 0 1 -144.784 -505.92] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+144.784 505.92 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 174.672 505.92] cm
+0 g
+0 G
+[1 0 0 1 -174.672 -505.92] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+178.455 505.92 Td
+/F128_0 9.963 Tf
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-380 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+16 TJm
+(e) 4.42357 Tj
+-380 TJm
+(much) 22.1378 Tj
+-380 TJm
+(in) 7.75121 Tj
+-379 TJm
+(the) 12.1748 Tj
+-380 TJm
+(w) 7.19329 Tj
+10 TJm
+(ay) 9.40507 Tj
+-380 TJm
+(of) 8.29918 Tj
+-379 TJm
+(portability) 41.5158 Tj
+-380 TJm
+(problems) 37.0823 Tj
+-379 TJm
+(on) 9.963 Tj
+-380 TJm
+(Unix;) 22.6957 Tj
+-444 TJm
+(most) 19.378 Tj
+-380 TJm
+(of) 8.29918 Tj
+-379 TJm
+(the) 12.1748 Tj
+-380 TJm
+(dif) 11.0689 Tj
+25 TJm
+(\002culties) 31.5528 Tj
+72 493.964 Td
+(appear) 26.5514 Tj
+-297 TJm
+(when) 21.5799 Tj
+-296 TJm
+(porting) 28.7831 Tj
+-297 TJm
+(to) 7.75121 Tj
+-297 TJm
+(the) 12.1748 Tj
+-296 TJm
+(Mac,) 20.195 Tj
+-309 TJm
+(or) 8.29918 Tj
+-296 TJm
+(to) 7.75121 Tj
+-297 TJm
+(Microsoft') 42.6118 Tj
+55 TJm
+(s) 3.87561 Tj
+-297 TJm
+(oper) 17.7043 Tj
+1 TJm
+(ating) 19.926 Tj
+-297 TJm
+(systems.) 34.0436 Tj
+[1 0 0 1 361.339 493.964] cm
+0 g
+0 G
+[1 0 0 1 -361.339 -493.964] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+361.339 493.964 Td
+/F130_0 9.963 Tf
+(autoconf) 47.8224 Tj
+[1 0 0 1 409.16 493.964] cm
+0 g
+0 G
+[1 0 0 1 -409.16 -493.964] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+412.116 493.964 Td
+/F128_0 9.963 Tf
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-297 TJm
+(help) 17.1563 Tj
+-296 TJm
+(in) 7.75121 Tj
+-297 TJm
+(those) 21.0319 Tj
+-297 TJm
+(cases,) 23.5127 Tj
+-308 TJm
+(and) 14.3866 Tj
+72 482.009 Td
+(brings) 24.9075 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(whole) 24.3496 Tj
+-250 TJm
+(load) 17.1563 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(ne) 9.40507 Tj
+25 TJm
+(w) 7.19329 Tj
+-250 TJm
+(c) 4.42357 Tj
+1 TJm
+(omple) 24.9075 Tj
+15 TJm
+(xity) 15.5024 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 479.852] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -469.89] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 460.091 Td
+/F128_0 9.963 Tf
+(Most) 20.4839 Tj
+-392 TJm
+(people) 26.5614 Tj
+-392 TJm
+(should) 26.5713 Tj
+-392 TJm
+(be) 9.40507 Tj
+-393 TJm
+(able) 16.5984 Tj
+-392 TJm
+(to) 7.75121 Tj
+-392 TJm
+(compile) 32.1008 Tj
+-392 TJm
+(the) 12.1748 Tj
+-392 TJm
+(library) 26.5614 Tj
+-392 TJm
+(and) 14.3866 Tj
+-393 TJm
+(prog) 18.2622 Tj
+1 TJm
+(ram) 15.4925 Tj
+-393 TJm
+(under) 22.6858 Tj
+-392 TJm
+(Unix) 19.926 Tj
+-392 TJm
+(straight) 29.889 Tj
+-392 TJm
+(out-of-the-box,) 60.595 Tj
+-428 TJm
+(so) 8.85711 Tj
+-392 TJm
+(to) 7.75121 Tj
+-392 TJm
+(speak,) 25.1765 Tj
+72 448.136 Td
+(especially) 39.842 Tj
+-250 TJm
+(if) 6.08739 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersio) 19.3681 Tj
+1 TJm
+(n) 4.9815 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(GNU) 21.5799 Tj
+-250 TJm
+(C) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailable.) 29.0521 Tj
+[1 0 0 1 72 445.979] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -436.017] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 426.218 Td
+/F128_0 9.963 Tf
+(There) 23.2337 Tj
+-258 TJm
+(are) 12.1648 Tj
+-259 TJm
+(a) 4.42357 Tj
+-259 TJm
+(coupl) 22.1378 Tj
+1 TJm
+(e) 4.42357 Tj
+-259 TJm
+(of) 8.29918 Tj
+[1 0 0 1 159.561 426.218] cm
+0 g
+0 G
+[1 0 0 1 -159.561 -426.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+159.561 426.218 Td
+/F130_0 9.963 Tf
+(__inline__) 59.778 Tj
+[1 0 0 1 219.337 426.218] cm
+0 g
+0 G
+[1 0 0 1 -219.337 -426.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+221.913 426.218 Td
+/F128_0 9.963 Tf
+(directi) 25.4555 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-258 TJm
+(in) 7.75121 Tj
+-259 TJm
+(the) 12.1748 Tj
+-258 TJm
+(code.) 21.3009 Tj
+-672 TJm
+(GNU) 21.5799 Tj
+-258 TJm
+(C) 6.64532 Tj
+-259 TJm
+(\() 3.31768 Tj
+[1 0 0 1 352.587 426.218] cm
+0 g
+0 G
+[1 0 0 1 -352.587 -426.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+352.587 426.218 Td
+/F130_0 9.963 Tf
+(gcc) 17.9334 Tj
+[1 0 0 1 370.52 426.218] cm
+0 g
+0 G
+[1 0 0 1 -370.52 -426.218] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+370.52 426.218 Td
+/F128_0 9.963 Tf
+(\)) 3.31768 Tj
+-259 TJm
+(sho) 13.8386 Tj
+1 TJm
+(uld) 12.7327 Tj
+-259 TJm
+(be) 9.40507 Tj
+-259 TJm
+(able) 16.5984 Tj
+-258 TJm
+(to) 7.75121 Tj
+-259 TJm
+(handle) 26.5614 Tj
+-258 TJm
+(them.) 22.4168 Tj
+-672 TJm
+(If) 6.63536 Tj
+-258 TJm
+(you') 18.2622 Tj
+50 TJm
+(re) 7.74125 Tj
+72 414.263 Td
+(not) 12.7327 Tj
+-279 TJm
+(using) 21.5898 Tj
+-279 TJm
+(GNU) 21.5799 Tj
+-279 TJm
+(C,) 9.13607 Tj
+-279 TJm
+(your) 18.2622 Tj
+-279 TJm
+(C) 6.64532 Tj
+-279 TJm
+(compile) 32.1008 Tj
+1 TJm
+(r) 3.31768 Tj
+-279 TJm
+(shouldn') 34.8705 Tj
+18 TJm
+(t) 2.76971 Tj
+-279 TJm
+(see) 12.7228 Tj
+-279 TJm
+(them) 19.926 Tj
+-279 TJm
+(at) 7.19329 Tj
+-279 TJm
+(all.) 12.4538 Tj
+-794 TJm
+(If) 6.63536 Tj
+-279 TJm
+(your) 18.2622 Tj
+-279 TJm
+(compiler) 35.4185 Tj
+-279 TJm
+(does,) 20.7529 Tj
+-286 TJm
+(for) 11.6169 Tj
+-279 TJm
+(some) 21.0319 Tj
+-279 TJm
+(reason,) 28.4942 Tj
+-286 TJm
+(see) 12.7228 Tj
+-279 TJm
+(them) 19.926 Tj
+-279 TJm
+(and) 14.3866 Tj
+72 402.308 Td
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-283 TJm
+(lik) 10.5209 Tj
+10 TJm
+(e) 4.42357 Tj
+-283 TJm
+(them,) 22.4168 Tj
+-291 TJm
+(just) 14.3965 Tj
+[1 0 0 1 164.167 402.308] cm
+0 g
+0 G
+[1 0 0 1 -164.167 -402.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+164.167 402.308 Td
+/F130_0 9.963 Tf
+(#define) 41.8446 Tj
+[1 0 0 1 206.01 402.308] cm
+0 g
+0 G
+[1 0 0 1 2.819 0] cm
+0 g
+0 G
+[1 0 0 1 -208.829 -402.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+208.829 402.308 Td
+/F130_0 9.963 Tf
+(__inline__) 59.778 Tj
+[1 0 0 1 268.605 402.308] cm
+0 g
+0 G
+[1 0 0 1 -268.605 -402.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+271.425 402.308 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-283 TJm
+(be) 9.40507 Tj
+[1 0 0 1 294.22 402.308] cm
+0 g
+0 G
+[1 0 0 1 -294.22 -402.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+294.22 402.308 Td
+/F130_0 9.963 Tf
+(/*) 11.9556 Tj
+-600 TJm
+(*/) 11.9556 Tj
+[1 0 0 1 324.108 402.308] cm
+0 g
+0 G
+[1 0 0 1 -324.108 -402.308] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+324.108 402.308 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-818 TJm
+(One) 16.5984 Tj
+-283 TJm
+(easy) 17.7043 Tj
+-283 TJm
+(w) 7.19329 Tj
+10 TJm
+(ay) 9.40507 Tj
+-283 TJm
+(to) 7.75121 Tj
+-283 TJm
+(do) 9.963 Tj
+-283 TJm
+(this) 14.3965 Tj
+-283 TJm
+(is) 6.64532 Tj
+-283 TJm
+(to) 7.75121 Tj
+-283 TJm
+(compile) 32.1008 Tj
+-283 TJm
+(with) 17.7142 Tj
+-283 TJm
+(th) 7.75121 Tj
+1 TJm
+(e) 4.42357 Tj
+-283 TJm
+(\003ag) 14.9445 Tj
+[1 0 0 1 72 390.353] cm
+0 g
+0 G
+[1 0 0 1 -72 -390.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 390.353 Td
+/F130_0 9.963 Tf
+(-D__inline__=) 77.7114 Tj
+[1 0 0 1 149.709 390.353] cm
+0 g
+0 G
+[1 0 0 1 -149.709 -390.353] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+149.709 390.353 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-250 TJm
+(which) 24.3496 Tj
+-250 TJm
+(should) 26.5713 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(understood) 44.2756 Tj
+-249 TJm
+(by) 9.963 Tj
+-250 TJm
+(most) 19.378 Tj
+-250 TJm
+(Unix) 19.926 Tj
+-250 TJm
+(compilers.) 41.7848 Tj
+[1 0 0 1 72 388.196] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -378.234] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 368.435 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-321 TJm
+(you) 14.9445 Tj
+-321 TJm
+(still) 14.9545 Tj
+-321 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-322 TJm
+(dif) 11.0689 Tj
+25 TJm
+(\002cul) 17.7142 Tj
+1 TJm
+(ties,) 16.3294 Tj
+-339 TJm
+(try) 11.0689 Tj
+-322 TJm
+(compi) 24.9075 Tj
+1 TJm
+(ling) 15.5024 Tj
+-322 TJm
+(with) 17.7142 Tj
+-321 TJm
+(the) 12.1748 Tj
+-321 TJm
+(macro) 24.8975 Tj
+[1 0 0 1 310.295 368.435] cm
+0 g
+0 G
+[1 0 0 1 -310.295 -368.435] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+310.295 368.435 Td
+/F130_0 9.963 Tf
+(BZ_STRICT_ANSI) 83.6892 Tj
+[1 0 0 1 393.981 368.435] cm
+0 g
+0 G
+[1 0 0 1 -393.981 -368.435] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+397.18 368.435 Td
+/F128_0 9.963 Tf
+(de\002ned.) 31.8218 Tj
+-524 TJm
+(This) 17.7142 Tj
+-321 TJm
+(should) 26.5713 Tj
+-321 TJm
+(enable) 26.0034 Tj
+-321 TJm
+(you) 14.9445 Tj
+-321 TJm
+(to) 7.75121 Tj
+72 356.48 Td
+(b) 4.9815 Tj
+20 TJm
+(uild) 15.5024 Tj
+-321 TJm
+(the) 12.1748 Tj
+-321 TJm
+(library) 26.5614 Tj
+-321 TJm
+(in) 7.75121 Tj
+-322 TJm
+(a) 4.42357 Tj
+-321 TJm
+(strictly) 27.6772 Tj
+-321 TJm
+(ANSI) 23.2437 Tj
+-321 TJm
+(compliant) 39.852 Tj
+-321 TJm
+(en) 9.40507 Tj
+40 TJm
+(vironment.) 43.4486 Tj
+-1047 TJm
+(Building) 34.8805 Tj
+-321 TJm
+(the) 12.1748 Tj
+-321 TJm
+(program) 33.7546 Tj
+-321 TJm
+(itself) 19.926 Tj
+-321 TJm
+(lik) 10.5209 Tj
+10 TJm
+(e) 4.42357 Tj
+-322 TJm
+(this) 14.3965 Tj
+-321 TJm
+(is) 6.64532 Tj
+-321 TJm
+(dangerous) 40.9479 Tj
+-321 TJm
+(and) 14.3866 Tj
+72 344.525 Td
+(not) 12.7327 Tj
+-260 TJm
+(supported,) 41.7848 Tj
+-263 TJm
+(since) 20.474 Tj
+-260 TJm
+(you) 14.9445 Tj
+-260 TJm
+(remo) 20.474 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+[1 0 0 1 204.498 344.525] cm
+0 g
+0 G
+[1 0 0 1 -204.498 -344.525] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+204.498 344.525 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 234.385 344.525] cm
+0 g
+0 G
+[1 0 0 1 -234.385 -344.525] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+234.385 344.525 Td
+/F128_0 9.963 Tf
+(') 3.31768 Tj
+55 TJm
+(s) 3.87561 Tj
+-260 TJm
+(checks) 27.1093 Tj
+-260 TJm
+(ag) 9.40507 Tj
+5 TJm
+(ainst) 18.8201 Tj
+-260 TJm
+(compressing) 50.363 Tj
+-260 TJm
+(directories,) 44.5446 Tj
+-263 TJm
+(symbolic) 36.5343 Tj
+-260 TJm
+(links,) 21.8688 Tj
+-262 TJm
+(de) 9.40507 Tj
+25 TJm
+(vices,) 22.9647 Tj
+-263 TJm
+(and) 14.3866 Tj
+-260 TJm
+(other) 20.474 Tj
+72 332.57 Td
+(not-really-a-\002le) 62.5278 Tj
+-250 TJm
+(entities.) 31.2739 Tj
+-619 TJm
+(This) 17.7142 Tj
+-250 TJm
+(could) 22.1378 Tj
+-250 TJm
+(cause) 22.1278 Tj
+-250 TJm
+(\002lesystem) 40.4099 Tj
+-250 TJm
+(corruption!) 44.8235 Tj
+[1 0 0 1 72 330.413] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -320.45] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 310.652 Td
+/F128_0 9.963 Tf
+(One) 16.5984 Tj
+-392 TJm
+(othe) 17.1563 Tj
+1 TJm
+(r) 3.31768 Tj
+-392 TJm
+(thing:) 23.2536 Tj
+-593 TJm
+(if) 6.08739 Tj
+-392 TJm
+(you) 14.9445 Tj
+-391 TJm
+(create) 23.7817 Tj
+-392 TJm
+(a) 4.42357 Tj
+[1 0 0 1 210.879 310.652] cm
+0 g
+0 G
+[1 0 0 1 -210.879 -310.652] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+210.879 310.652 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 240.767 310.652] cm
+0 g
+0 G
+[1 0 0 1 -240.767 -310.652] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+244.669 310.652 Td
+/F128_0 9.963 Tf
+(binary) 25.4555 Tj
+-392 TJm
+(fo) 8.29918 Tj
+1 TJm
+(r) 3.31768 Tj
+-392 TJm
+(public) 24.9075 Tj
+-392 TJm
+(distrib) 25.4654 Tj
+20 TJm
+(u) 4.9815 Tj
+1 TJm
+(tion,) 17.9932 Tj
+-427 TJm
+(please) 24.8975 Tj
+-392 TJm
+(consider) 33.7546 Tj
+-391 TJm
+(linking) 28.2351 Tj
+-392 TJm
+(it) 5.53943 Tj
+-392 TJm
+(s) 3.87561 Tj
+1 TJm
+(tatically) 32.1008 Tj
+-392 TJm
+(\() 3.31768 Tj
+[1 0 0 1 522.067 310.652] cm
+0 g
+0 G
+[1 0 0 1 -522.067 -310.652] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+522.067 310.652 Td
+/F130_0 9.963 Tf
+(gcc) 17.9334 Tj
+72 298.697 Td
+(-static) 41.8446 Tj
+[1 0 0 1 113.843 298.697] cm
+0 g
+0 G
+[1 0 0 1 -113.843 -298.697] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+113.843 298.697 Td
+/F128_0 9.963 Tf
+(\).) 5.80843 Tj
+-620 TJm
+(This) 17.7142 Tj
+-250 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+20 TJm
+(oids) 16.6083 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(sorts) 18.8201 Tj
+-250 TJm
+(of) 8.29918 Tj
+-250 TJm
+(lib) 10.5209 Tj
+1 TJm
+(rary-v) 24.3396 Tj
+15 TJm
+(ersion) 24.3496 Tj
+-250 TJm
+(issues) 23.8016 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(others) 24.3496 Tj
+-250 TJm
+(may) 17.1563 Tj
+-250 TJm
+(encounter) 39.2841 Tj
+-250 TJm
+(later) 17.7043 Tj
+-250 TJm
+(on.) 12.4538 Tj
+[1 0 0 1 72 296.54] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -286.577] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 276.779 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-296 TJm
+(you) 14.9445 Tj
+-296 TJm
+(b) 4.9815 Tj
+20 TJm
+(uild) 15.5024 Tj
+[1 0 0 1 122.708 276.779] cm
+0 g
+0 G
+[1 0 0 1 -122.708 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+122.708 276.779 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 152.596 276.779] cm
+0 g
+0 G
+[1 0 0 1 -152.596 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+155.545 276.779 Td
+/F128_0 9.963 Tf
+(on) 9.963 Tj
+-296 TJm
+(W) 9.40507 Tj
+40 TJm
+(in32,) 20.205 Tj
+-307 TJm
+(you) 14.9445 Tj
+-296 TJm
+(must) 19.378 Tj
+-296 TJm
+(set) 11.0689 Tj
+[1 0 0 1 254.965 276.779] cm
+0 g
+0 G
+[1 0 0 1 -254.965 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+254.965 276.779 Td
+/F130_0 9.963 Tf
+(BZ_UNIX) 41.8446 Tj
+[1 0 0 1 296.808 276.779] cm
+0 g
+0 G
+[1 0 0 1 -296.808 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+299.756 276.779 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-296 TJm
+(0) 4.9815 Tj
+-296 TJm
+(and) 14.3866 Tj
+[1 0 0 1 335.72 276.779] cm
+0 g
+0 G
+[1 0 0 1 -335.72 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+335.72 276.779 Td
+/F130_0 9.963 Tf
+(BZ_LCCWIN32) 65.7558 Tj
+[1 0 0 1 401.473 276.779] cm
+0 g
+0 G
+[1 0 0 1 -401.473 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+404.422 276.779 Td
+/F128_0 9.963 Tf
+(to) 7.75121 Tj
+-296 TJm
+(1,) 7.47225 Tj
+-307 TJm
+(in) 7.75121 Tj
+-296 TJm
+(the) 12.1748 Tj
+-296 TJm
+(\002le) 12.7327 Tj
+[1 0 0 1 467.159 276.779] cm
+0 g
+0 G
+[1 0 0 1 -467.159 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+467.159 276.779 Td
+/F130_0 9.963 Tf
+(bzip2.c) 41.8446 Tj
+[1 0 0 1 509.002 276.779] cm
+0 g
+0 G
+[1 0 0 1 -509.002 -276.779] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+509.002 276.779 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-307 TJm
+(before) 25.4455 Tj
+72 264.824 Td
+(compiling.) 42.9007 Tj
+-310 TJm
+(Otherwise) 40.9479 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(re) 7.74125 Tj
+1 TJm
+(sulting) 27.1292 Tj
+-250 TJm
+(binary) 25.4555 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(on') 13.2807 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork) 13.2807 Tj
+-250 TJm
+(correctly) 35.4085 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 262.667] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -252.704] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 230.071 Td
+/F121_0 20.659 Tf
+(4.3.) 34.4592 Tj
+-278 TJm
+(Repor) 59.6839 Tj
+-20 TJm
+(ting) 37.8679 Tj
+-278 TJm
+(b) 12.6226 Tj
+20 TJm
+(ugs) 36.7317 Tj
+[1 0 0 1 72 225.475] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -215.512] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 208.153 Td
+/F128_0 9.963 Tf
+(I) 3.31768 Tj
+-228 TJm
+(tried) 18.2622 Tj
+-228 TJm
+(pretty) 23.2437 Tj
+-228 TJm
+(hard) 17.7043 Tj
+-228 TJm
+(t) 2.76971 Tj
+1 TJm
+(o) 4.9815 Tj
+-228 TJm
+(mak) 17.1563 Tj
+10 TJm
+(e) 4.42357 Tj
+-228 TJm
+(sure) 16.5984 Tj
+[1 0 0 1 196.25 208.153] cm
+0 g
+0 G
+[1 0 0 1 -196.25 -208.153] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+196.25 208.153 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 226.138 208.153] cm
+0 g
+0 G
+[1 0 0 1 -226.138 -208.153] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+228.409 208.153 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-228 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-228 TJm
+(free,) 17.9733 Tj
+-232 TJm
+(both) 17.7142 Tj
+-228 TJm
+(by) 9.963 Tj
+-228 TJm
+(design) 26.0134 Tj
+-228 TJm
+(and) 14.3866 Tj
+-228 TJm
+(by) 9.963 Tj
+-228 TJm
+(te) 7.19329 Tj
+1 TJm
+(sting.) 21.8688 Tj
+-606 TJm
+(Hopefully) 40.4 Tj
+-227 TJm
+(you') 18.2622 Tj
+10 TJm
+(ll) 5.53943 Tj
+-228 TJm
+(ne) 9.40507 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+-228 TJm
+(need) 18.8101 Tj
+-228 TJm
+(to) 7.75121 Tj
+-228 TJm
+(read) 17.1463 Tj
+72 196.198 Td
+(this) 14.3965 Tj
+-250 TJm
+(section) 28.2252 Tj
+-250 TJm
+(for) 11.6169 Tj
+-250 TJm
+(real.) 17.4253 Tj
+[1 0 0 1 72 196.098] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -186.136] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 174.28 Td
+/F128_0 9.963 Tf
+(Ne) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ertheless,) 37.3513 Tj
+-313 TJm
+(if) 6.08739 Tj
+[1 0 0 1 137.751 174.28] cm
+0 g
+0 G
+[1 0 0 1 -137.751 -174.28] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+137.751 174.28 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 167.639 174.28] cm
+0 g
+0 G
+[1 0 0 1 -167.639 -174.28] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+170.634 174.28 Td
+/F128_0 9.963 Tf
+(dies) 16.0504 Tj
+-301 TJm
+(w) 7.19329 Tj
+1 TJm
+(ith) 10.5209 Tj
+-301 TJm
+(a) 4.42357 Tj
+-301 TJm
+(se) 8.29918 Tj
+15 TJm
+(gm) 12.7327 Tj
+1 TJm
+(entation) 32.1008 Tj
+-301 TJm
+(f) 3.31768 Tj
+10 TJm
+(ault,) 17.4353 Tj
+-313 TJm
+(a) 4.42357 Tj
+-301 TJm
+(b) 4.9815 Tj
+20 TJm
+(us) 8.85711 Tj
+-300 TJm
+(error) 19.3581 Tj
+-301 TJm
+(or) 8.29918 Tj
+-300 TJm
+(an) 9.40507 Tj
+-301 TJm
+(internal) 30.437 Tj
+-300 TJm
+(assertion) 35.4185 Tj
+-301 TJm
+(f) 3.31768 Tj
+10 TJm
+(ailure,) 25.1765 Tj
+-313 TJm
+(it) 5.53943 Tj
+-300 TJm
+(will) 15.5024 Tj
+-301 TJm
+(ask) 13.2807 Tj
+-300 TJm
+(you) 14.9445 Tj
+-301 TJm
+(to) 7.75121 Tj
+72 162.325 Td
+(email) 22.1378 Tj
+-242 TJm
+(me) 12.1748 Tj
+-243 TJm
+(a) 4.42357 Tj
+-242 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-243 TJm
+(r) 3.31768 Tj
+1 TJm
+(eport.) 22.9647 Tj
+-615 TJm
+(Experience) 44.8136 Tj
+-243 TJm
+(from) 19.3681 Tj
+-242 TJm
+(years) 21.0219 Tj
+-242 TJm
+(of) 8.29918 Tj
+-243 TJm
+(feedback) 35.9565 Tj
+-242 TJm
+(of) 8.29918 Tj
+-242 TJm
+(bzip2) 22.1378 Tj
+-243 TJm
+(users) 20.474 Tj
+-242 TJm
+(indicates) 35.4185 Tj
+-242 TJm
+(that) 14.9445 Tj
+-243 TJm
+(almost) 26.5713 Tj
+-242 TJm
+(all) 9.963 Tj
+-242 TJm
+(these) 20.474 Tj
+-243 TJm
+(problems) 37.0823 Tj
+-242 TJm
+(can) 13.8286 Tj
+72 150.37 Td
+(be) 9.40507 Tj
+-250 TJm
+(traced) 24.3396 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(either) 22.6858 Tj
+-250 TJm
+(compiler) 35.4185 Tj
+-249 TJm
+(b) 4.9815 Tj
+20 TJm
+(ugs) 13.8386 Tj
+-250 TJm
+(or) 8.29918 Tj
+-250 TJm
+(hardw) 24.8975 Tj
+10 TJm
+(are) 12.1648 Tj
+-250 TJm
+(problems.) 39.573 Tj
+[1 0 0 1 72 148.213] cm
+0 g
+0 G
+[1 0 0 1 0 -97.361] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(32) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 36 36
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -6.854] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 116.329 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -382.4 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+498.728 749.245 Td
+/F128_0 9.963 Tf
+(Miscellanea) 48.1412 Tj
+[1 0 0 1 266.071 749.146] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -7.094] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -468 -31.517] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 710.037 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 710.037] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -710.037] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 710.037 Td
+/F128_0 9.963 Tf
+(Recompile) 43.1697 Tj
+-306 TJm
+(the) 12.1748 Tj
+-306 TJm
+(program) 33.7546 Tj
+-306 TJm
+(with) 17.7142 Tj
+-305 TJm
+(no) 9.963 Tj
+-306 TJm
+(optimisation,) 52.3157 Tj
+-320 TJm
+(and) 14.3866 Tj
+-306 TJm
+(see) 12.7228 Tj
+-306 TJm
+(if) 6.08739 Tj
+-306 TJm
+(it) 5.53943 Tj
+-306 TJm
+(w) 7.19329 Tj
+10 TJm
+(orks.) 19.647 Tj
+-956 TJm
+(And/or) 28.2252 Tj
+-306 TJm
+(try) 11.0689 Tj
+-306 TJm
+(a) 4.42357 Tj
+-306 TJm
+(dif) 11.0689 Tj
+25 TJm
+(fe) 7.74125 Tj
+1 TJm
+(rent) 15.4925 Tj
+-306 TJm
+(compiler) 35.4185 Tj
+55 TJm
+(.) 2.49075 Tj
+-956 TJm
+(I) 3.31768 Tj
+-306 TJm
+(heard) 22.1278 Tj
+-306 TJm
+(all) 9.963 Tj
+86.944 698.082 Td
+(sorts) 18.8201 Tj
+-282 TJm
+(of) 8.29918 Tj
+-282 TJm
+(stories) 26.0134 Tj
+-282 TJm
+(about) 22.1378 Tj
+-282 TJm
+(v) 4.9815 Tj
+25 TJm
+(arious) 24.3496 Tj
+-282 TJm
+(\003a) 9.963 Tj
+20 TJm
+(v) 4.9815 Tj
+20 TJm
+(ours) 17.1563 Tj
+-282 TJm
+(of) 8.29918 Tj
+-282 TJm
+(GNU) 21.5799 Tj
+-282 TJm
+(C) 6.64532 Tj
+-283 TJm
+(\(a) 7.74125 Tj
+1 TJm
+(nd) 9.963 Tj
+-283 TJm
+(other) 20.474 Tj
+-282 TJm
+(compiler) 35.4185 Tj
+1 TJm
+(s\)) 7.19329 Tj
+-283 TJm
+(genera) 26.5514 Tj
+1 TJm
+(ting) 15.5024 Tj
+-283 TJm
+(bad) 14.3866 Tj
+-282 TJm
+(code) 18.8101 Tj
+-282 TJm
+(for) 11.6169 Tj
+[1 0 0 1 472.141 698.082] cm
+0 g
+0 G
+[1 0 0 1 -472.141 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+472.141 698.082 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 502.029 698.082] cm
+0 g
+0 G
+[1 0 0 1 -502.029 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+502.029 698.082 Td
+/F128_0 9.963 Tf
+(,) 2.49075 Tj
+-290 TJm
+(and) 14.3866 Tj
+-282 TJm
+(I') 6.63536 Tj
+50 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+86.944 686.127 Td
+(run) 13.2807 Tj
+-250 TJm
+(across) 24.8975 Tj
+-250 TJm
+(tw) 9.963 Tj
+10 TJm
+(o) 4.9815 Tj
+-250 TJm
+(such) 18.2622 Tj
+-250 TJm
+(e) 4.42357 Tj
+15 TJm
+(xamples) 33.2067 Tj
+-249 TJm
+(myself.) 29.61 Tj
+[1 0 0 1 237.767 686.127] cm
+0 g
+0 G
+[1 0 0 1 -165.767 -12.119] cm
+0 g
+0 G
+[1 0 0 1 -72 -674.008] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 664.209 Td
+/F128_0 9.963 Tf
+(2.7.X) 22.1378 Tj
+-279 TJm
+(v) 4.9815 Tj
+15 TJm
+(ersions) 28.2252 Tj
+-280 TJm
+(of) 8.29918 Tj
+-279 TJm
+(GNU) 21.5799 Tj
+-280 TJm
+(C) 6.64532 Tj
+-279 TJm
+(are) 12.1648 Tj
+-280 TJm
+(kno) 14.9445 Tj
+25 TJm
+(wn) 12.1748 Tj
+-279 TJm
+(to) 7.75121 Tj
+-280 TJm
+(generate) 33.7447 Tj
+-279 TJm
+(bad) 14.3866 Tj
+-280 TJm
+(code) 18.8101 Tj
+-279 TJm
+(from) 19.3681 Tj
+-280 TJm
+(time) 17.7142 Tj
+-279 TJm
+(to) 7.75121 Tj
+-280 TJm
+(time,) 20.205 Tj
+-287 TJm
+(at) 7.19329 Tj
+-279 TJm
+(high) 17.7142 Tj
+-280 TJm
+(optimisation) 49.825 Tj
+-279 TJm
+(le) 7.19329 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(els.) 13.5596 Tj
+-797 TJm
+(If) 6.63536 Tj
+-280 TJm
+(you) 14.9445 Tj
+86.944 652.254 Td
+(get) 12.1748 Tj
+-295 TJm
+(problems,) 39.573 Tj
+-307 TJm
+(try) 11.0689 Tj
+-296 TJm
+(u) 4.9815 Tj
+1 TJm
+(sing) 16.6083 Tj
+-296 TJm
+(the) 12.1748 Tj
+-295 TJm
+(\003ags) 18.8201 Tj
+[1 0 0 1 220.116 652.254] cm
+0 g
+0 G
+[1 0 0 1 -220.116 -652.254] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+220.116 652.254 Td
+/F130_0 9.963 Tf
+(-O2) 17.9334 Tj
+[1 0 0 1 238.049 652.254] cm
+0 g
+0 G
+[1 0 0 1 2.944 0] cm
+0 g
+0 G
+[1 0 0 1 -240.993 -652.254] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+240.993 652.254 Td
+/F130_0 9.963 Tf
+(-fomit-frame-pointer) 119.556 Tj
+[1 0 0 1 360.544 652.254] cm
+0 g
+0 G
+[1 0 0 1 2.944 0] cm
+0 g
+0 G
+[1 0 0 1 -363.488 -652.254] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+363.488 652.254 Td
+/F130_0 9.963 Tf
+(-fno-strength-reduce) 119.556 Tj
+[1 0 0 1 483.04 652.254] cm
+0 g
+0 G
+[1 0 0 1 -483.04 -652.254] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+483.04 652.254 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-893 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-295 TJm
+(should) 26.5713 Tj
+86.944 640.299 Td
+(speci\002cally) 45.3815 Tj
+[1 0 0 1 134.814 640.299] cm
+0 g
+0 G
+[1 0 0 1 -134.814 -640.299] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+134.814 640.299 Td
+/F631_0 9.963 Tf
+(not) 12.7327 Tj
+[1 0 0 1 147.546 640.299] cm
+0 g
+0 G
+[1 0 0 1 -147.546 -640.299] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+150.037 640.299 Td
+/F128_0 9.963 Tf
+(use) 13.2807 Tj
+[1 0 0 1 165.807 640.299] cm
+0 g
+0 G
+[1 0 0 1 -165.807 -640.299] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+165.807 640.299 Td
+/F130_0 9.963 Tf
+(-funroll-loops) 83.6892 Tj
+[1 0 0 1 249.493 640.299] cm
+0 g
+0 G
+[1 0 0 1 -249.493 -640.299] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+249.493 640.299 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+[1 0 0 1 72 638.142] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -628.179] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 618.381 Td
+/F128_0 9.963 Tf
+(Y) 7.19329 Tj
+110 TJm
+(ou) 9.963 Tj
+-249 TJm
+(may) 17.1563 Tj
+-248 TJm
+(notice) 24.3496 Tj
+-249 TJm
+(that) 14.9445 Tj
+-249 TJm
+(the) 12.1748 Tj
+-249 TJm
+(M) 8.85711 Tj
+1 TJm
+(ak) 9.40507 Tj
+10 TJm
+(e\002le) 17.1563 Tj
+-249 TJm
+(runs) 17.1563 Tj
+-249 TJm
+(six) 11.6268 Tj
+-249 TJm
+(test) 13.8386 Tj
+1 TJm
+(s) 3.87561 Tj
+-249 TJm
+(as) 8.29918 Tj
+-249 TJm
+(part) 15.4925 Tj
+-249 TJm
+(of) 8.29918 Tj
+-248 TJm
+(the) 12.1748 Tj
+-249 TJm
+(b) 4.9815 Tj
+20 TJm
+(uild) 15.5024 Tj
+-249 TJm
+(process.) 32.3698 Tj
+-619 TJm
+(If) 6.63536 Tj
+-249 TJm
+(the) 12.1748 Tj
+-248 TJm
+(program) 33.7546 Tj
+-249 TJm
+(passes) 25.4555 Tj
+-249 TJm
+(all) 9.963 Tj
+-248 TJm
+(of) 8.29918 Tj
+-249 TJm
+(these,) 22.9647 Tj
+-249 TJm
+(it') 8.85711 Tj
+55 TJm
+(s) 3.87561 Tj
+86.944 606.426 Td
+(a) 4.42357 Tj
+-250 TJm
+(pretty) 23.2437 Tj
+-250 TJm
+(good) 19.926 Tj
+-250 TJm
+(\(b) 8.29918 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(not) 12.7327 Tj
+-250 TJm
+(100%\)) 26.5614 Tj
+-250 TJm
+(in) 7.75121 Tj
+1 TJm
+(dication) 32.1008 Tj
+-250 TJm
+(that) 14.9445 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(compiler) 35.4185 Tj
+-250 TJm
+(has) 13.2807 Tj
+-250 TJm
+(done) 19.3681 Tj
+-250 TJm
+(its) 9.41504 Tj
+-250 TJm
+(job) 12.7327 Tj
+-250 TJm
+(correctly) 35.4085 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 604.269] cm
+0 g
+0 G
+[1 0 0 1 0 -19.761] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 584.508 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 584.508] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 584.508 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+[1 0 0 1 95.956 584.508] cm
+0 g
+0 G
+[1 0 0 1 -95.956 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+95.956 584.508 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 125.844 584.508] cm
+0 g
+0 G
+[1 0 0 1 -125.844 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+128.22 584.508 Td
+/F128_0 9.963 Tf
+(crashes) 29.3211 Tj
+-238 TJm
+(randomly) 38.1882 Tj
+65 TJm
+(,) 2.49075 Tj
+-241 TJm
+(and) 14.3866 Tj
+-239 TJm
+(the) 12.1748 Tj
+-238 TJm
+(crashes) 29.3211 Tj
+-239 TJm
+(are) 12.1648 Tj
+-238 TJm
+(not) 12.7327 Tj
+-239 TJm
+(repea) 21.5699 Tj
+1 TJm
+(table,) 21.8588 Tj
+-241 TJm
+(you) 14.9445 Tj
+-239 TJm
+(may) 17.1563 Tj
+-238 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-239 TJm
+(a) 4.42357 Tj
+-238 TJm
+(\003ak) 14.9445 Tj
+15 TJm
+(y) 4.9815 Tj
+-239 TJm
+(memory) 33.2067 Tj
+-238 TJm
+(subsystem.) 44.0066 Tj
+[1 0 0 1 510.112 584.508] cm
+0 g
+0 G
+[1 0 0 1 -510.112 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+510.112 584.508 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 540 584.508] cm
+0 g
+0 G
+[1 0 0 1 -540 -584.508] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 572.553 Td
+/F128_0 9.963 Tf
+(really) 22.6858 Tj
+-253 TJm
+(hammers) 36.5244 Tj
+-254 TJm
+(your) 18.2622 Tj
+-253 TJm
+(memory) 33.2067 Tj
+-254 TJm
+(hierarch) 32.6388 Tj
+5 TJm
+(y) 4.9815 Tj
+65 TJm
+(,) 2.49075 Tj
+-254 TJm
+(and) 14.3866 Tj
+-254 TJm
+(if) 6.08739 Tj
+-253 TJm
+(it') 8.85711 Tj
+55 TJm
+(s) 3.87561 Tj
+-254 TJm
+(a) 4.42357 Tj
+-253 TJm
+(bit) 10.5209 Tj
+-254 TJm
+(mar) 15.4925 Tj
+18 TJm
+(ginal,) 22.4168 Tj
+-254 TJm
+(you) 14.9445 Tj
+-254 TJm
+(may) 17.1563 Tj
+-253 TJm
+(get) 12.1748 Tj
+-254 TJm
+(these) 20.474 Tj
+-253 TJm
+(problems.) 39.573 Tj
+-642 TJm
+(D) 7.19329 Tj
+1 TJm
+(itto) 13.2906 Tj
+-254 TJm
+(if) 6.08739 Tj
+-254 TJm
+(you) 14.9445 Tj
+1 TJm
+(r) 3.31768 Tj
+-254 TJm
+(disk) 16.6083 Tj
+86.944 560.598 Td
+(or) 8.29918 Tj
+-250 TJm
+(I/O) 13.2807 Tj
+-250 TJm
+(subsystem) 41.5158 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(slo) 11.6268 Tj
+25 TJm
+(wly) 14.9445 Tj
+-249 TJm
+(f) 3.31768 Tj
+10 TJm
+(ailing.) 25.1865 Tj
+-620 TJm
+(Y) 7.19329 Tj
+111 TJm
+(up,) 12.4538 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(really) 22.6858 Tj
+-250 TJm
+(does) 18.2622 Tj
+-250 TJm
+(happen.) 31.2639 Tj
+[1 0 0 1 345.143 560.598] cm
+0 g
+0 G
+[1 0 0 1 -273.143 -12.12] cm
+0 g
+0 G
+[1 0 0 1 -72 -548.478] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 538.68 Td
+/F128_0 9.963 Tf
+(T) 6.08739 Tj
+35 TJm
+(ry) 8.29918 Tj
+-250 TJm
+(using) 21.5898 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(dif) 11.0689 Tj
+25 TJm
+(ferent) 23.2337 Tj
+-250 TJm
+(machine) 33.7546 Tj
+-249 TJm
+(of) 8.29918 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(same) 20.474 Tj
+-250 TJm
+(type,) 19.647 Tj
+-250 TJm
+(and) 14.3866 Tj
+-250 TJm
+(see) 12.7228 Tj
+-250 TJm
+(if) 6.08739 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(can) 13.8286 Tj
+-250 TJm
+(repeat) 24.3396 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(problem.) 35.6974 Tj
+[1 0 0 1 72 536.523] cm
+0 g
+0 G
+[1 0 0 1 0 -19.761] cm
+0 g
+0 G
+[1 0 0 1 6.974 0] cm
+0 g
+0 G
+[1 0 0 1 -78.974 -516.762] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+78.974 516.762 Td
+/F128_0 9.963 Tf
+(\225) 3.48705 Tj
+[1 0 0 1 82.461 516.762] cm
+0 g
+0 G
+[1 0 0 1 2.49 0] cm
+0 g
+0 G
+[1 0 0 1 1.993 0] cm
+0 g
+0 G
+[1 0 0 1 -86.944 -516.762] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+86.944 516.762 Td
+/F128_0 9.963 Tf
+(This) 17.7142 Tj
+-229 TJm
+(isn') 14.9445 Tj
+18 TJm
+(t) 2.76971 Tj
+-230 TJm
+(real) 14.9345 Tj
+1 TJm
+(ly) 7.75121 Tj
+-230 TJm
+(a) 4.42357 Tj
+-229 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug,) 12.4538 Tj
+-234 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-229 TJm
+(...) 7.47225 Tj
+-303 TJm
+(If) 6.63536 Tj
+[1 0 0 1 212.232 516.762] cm
+0 g
+0 G
+[1 0 0 1 -212.232 -516.762] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+212.232 516.762 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 242.12 516.762] cm
+0 g
+0 G
+[1 0 0 1 -242.12 -516.762] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+244.405 516.762 Td
+/F128_0 9.963 Tf
+(tells) 16.6083 Tj
+-229 TJm
+(you) 14.9445 Tj
+-230 TJm
+(your) 18.2622 Tj
+-229 TJm
+(\002le) 12.7327 Tj
+-229 TJm
+(is) 6.64532 Tj
+-229 TJm
+(corrupted) 38.1782 Tj
+-230 TJm
+(on) 9.963 Tj
+-229 TJm
+(decompression,) 62.2588 Tj
+-233 TJm
+(and) 14.3866 Tj
+-230 TJm
+(you) 14.9445 Tj
+-229 TJm
+(obtained) 34.3126 Tj
+-229 TJm
+(the) 12.1748 Tj
+-229 TJm
+(\002le) 12.7327 Tj
+86.944 504.807 Td
+(via) 12.1748 Tj
+-262 TJm
+(FTP) 17.1662 Tj
+111 TJm
+(,) 2.49075 Tj
+-262 TJm
+(there) 19.916 Tj
+-263 TJm
+(is) 6.64532 Tj
+-262 TJm
+(a) 4.42357 Tj
+-262 TJm
+(possibility) 41.5258 Tj
+-262 TJm
+(that) 14.9445 Tj
+-263 TJm
+(y) 4.9815 Tj
+1 TJm
+(ou) 9.963 Tj
+-263 TJm
+(for) 11.6169 Tj
+18 TJm
+(got) 12.7327 Tj
+-262 TJm
+(to) 7.75121 Tj
+-262 TJm
+(tell) 12.7327 Tj
+-262 TJm
+(FTP) 17.1662 Tj
+-263 TJm
+(to) 7.75121 Tj
+-262 TJm
+(do) 9.963 Tj
+-262 TJm
+(a) 4.42357 Tj
+-262 TJm
+(binary) 25.4555 Tj
+-263 TJm
+(mode) 22.1378 Tj
+-262 TJm
+(transfer) 30.427 Tj
+55 TJm
+(.) 2.49075 Tj
+-694 TJm
+(Th) 11.0689 Tj
+1 TJm
+(at) 7.19329 Tj
+-263 TJm
+(absolutely) 40.9579 Tj
+-262 TJm
+(will) 15.5024 Tj
+-262 TJm
+(cause) 22.1278 Tj
+86.944 492.852 Td
+(the) 12.1748 Tj
+-250 TJm
+(\002le) 12.7327 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(be) 9.40507 Tj
+-250 TJm
+(non-decompress) 65.2975 Tj
+1 TJm
+(ible.) 17.4353 Tj
+-620 TJm
+(Y) 7.19329 Tj
+110 TJm
+(ou') 13.2807 Tj
+10 TJm
+(ll) 5.53943 Tj
+-250 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(transfer) 30.427 Tj
+-250 TJm
+(it) 5.53943 Tj
+-250 TJm
+(ag) 9.40507 Tj
+5 TJm
+(ain.) 14.6655 Tj
+[1 0 0 1 351.34 492.852] cm
+0 g
+0 G
+[1 0 0 1 -279.34 -12.12] cm
+0 g
+0 G
+[1 0 0 1 -72 -480.732] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 470.934 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-235 TJm
+(you') 18.2622 Tj
+50 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-235 TJm
+(incorporated) 50.353 Tj
+[1 0 0 1 163.036 470.934] cm
+0 g
+0 G
+[1 0 0 1 -163.036 -470.934] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+163.036 470.934 Td
+/F130_0 9.963 Tf
+(libbzip2) 47.8224 Tj
+[1 0 0 1 210.856 470.934] cm
+0 g
+0 G
+[1 0 0 1 -210.856 -470.934] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+213.2 470.934 Td
+/F128_0 9.963 Tf
+(into) 15.5024 Tj
+-235 TJm
+(your) 18.2622 Tj
+-235 TJm
+(o) 4.9815 Tj
+25 TJm
+(wn) 12.1748 Tj
+-236 TJm
+(prog) 18.2622 Tj
+1 TJm
+(ram) 15.4925 Tj
+-236 TJm
+(and) 14.3866 Tj
+-235 TJm
+(are) 12.1648 Tj
+-235 TJm
+(getting) 27.6772 Tj
+-235 TJm
+(problems,) 39.573 Tj
+-238 TJm
+(please,) 27.3883 Tj
+-238 TJm
+(please,) 27.3883 Tj
+-238 TJm
+(please,) 27.3883 Tj
+-238 TJm
+(check) 23.2337 Tj
+-236 TJm
+(t) 2.76971 Tj
+1 TJm
+(hat) 12.1748 Tj
+72 458.979 Td
+(the) 12.1748 Tj
+-242 TJm
+(parameters) 43.7077 Tj
+-242 TJm
+(you) 14.9445 Tj
+-243 TJm
+(are) 12.1648 Tj
+-242 TJm
+(passing) 29.889 Tj
+-242 TJm
+(in) 7.75121 Tj
+-243 TJm
+(calls) 18.2622 Tj
+-242 TJm
+(to) 7.75121 Tj
+-242 TJm
+(the) 12.1748 Tj
+-242 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-244 TJm
+(are) 12.1648 Tj
+-243 TJm
+(co) 9.40507 Tj
+1 TJm
+(rrect,) 20.743 Tj
+-244 TJm
+(and) 14.3866 Tj
+-243 TJm
+(in) 7.75121 Tj
+-242 TJm
+(accordance) 44.8036 Tj
+-242 TJm
+(with) 17.7142 Tj
+-242 TJm
+(what) 19.3681 Tj
+-243 TJm
+(the) 12.1748 Tj
+-242 TJm
+(documentation) 59.2201 Tj
+-242 TJm
+(says) 17.1563 Tj
+72 447.024 Td
+(is) 6.64532 Tj
+-250 TJm
+(allo) 14.9445 Tj
+25 TJm
+(w) 7.19329 Tj
+10 TJm
+(able.) 19.0891 Tj
+-310 TJm
+(I) 3.31768 Tj
+-250 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(tried) 18.2622 Tj
+-250 TJm
+(to) 7.75121 Tj
+-250 TJm
+(m) 7.75121 Tj
+1 TJm
+(ak) 9.40507 Tj
+10 TJm
+(e) 4.42357 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(library) 26.5614 Tj
+-250 TJm
+(rob) 13.2807 Tj
+20 TJm
+(ust) 11.6268 Tj
+-250 TJm
+(ag) 9.40507 Tj
+5 TJm
+(ainst) 18.8201 Tj
+-250 TJm
+(such) 18.2622 Tj
+-250 TJm
+(problems,) 39.573 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-250 TJm
+(I'm) 14.3866 Tj
+-250 TJm
+(sur) 12.1748 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(I) 3.31768 Tj
+-250 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(en') 12.7228 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(succeeded.) 43.4287 Tj
+[1 0 0 1 72 444.867] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -434.904] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 425.106 Td
+/F128_0 9.963 Tf
+(Finally) 28.2351 Tj
+65 TJm
+(,) 2.49075 Tj
+-324 TJm
+(if) 6.08739 Tj
+-309 TJm
+(the) 12.1748 Tj
+-310 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-309 TJm
+(comments) 40.9579 Tj
+-309 TJm
+(don') 18.2622 Tj
+18 TJm
+(t) 2.76971 Tj
+-309 TJm
+(help,) 19.647 Tj
+-325 TJm
+(you') 18.2622 Tj
+11 TJm
+(ll) 5.53943 Tj
+-310 TJm
+(ha) 9.40507 Tj
+20 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-309 TJm
+(to) 7.75121 Tj
+-309 TJm
+(send) 18.2622 Tj
+-310 TJm
+(me) 12.1748 Tj
+-309 TJm
+(a) 4.42357 Tj
+-309 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-310 TJm
+(report.) 26.2824 Tj
+-976 TJm
+(No) 12.1748 Tj
+25 TJm
+(w) 7.19329 Tj
+65 TJm
+(,) 2.49075 Tj
+-324 TJm
+(it') 8.85711 Tj
+55 TJm
+(s) 3.87561 Tj
+-309 TJm
+(just) 14.3965 Tj
+-309 TJm
+(amazing) 33.7546 Tj
+-310 TJm
+(ho) 9.963 Tj
+25 TJm
+(w) 7.19329 Tj
+-309 TJm
+(man) 17.1563 Tj
+15 TJm
+(y) 4.9815 Tj
+72 413.151 Td
+(people) 26.5614 Tj
+-250 TJm
+(will) 15.5024 Tj
+-250 TJm
+(send) 18.2622 Tj
+-250 TJm
+(me) 12.1748 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(b) 4.9815 Tj
+20 TJm
+(ug) 9.963 Tj
+-250 TJm
+(rep) 12.7228 Tj
+1 TJm
+(ort) 11.0689 Tj
+-250 TJm
+(saying) 26.0134 Tj
+-250 TJm
+(something) 41.5158 Tj
+-250 TJm
+(lik) 10.5209 Tj
+10 TJm
+(e:) 7.19329 Tj
+[1 0 0 1 72 410.994] cm
+0 g
+0 G
+[1 0 0 1 0 -24.907] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 23.91 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 20.324] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -401.629] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 401.629 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+-426 TJm
+(crashed) 41.8446 Tj
+-426 TJm
+(with) 23.9112 Tj
+-426 TJm
+(segmen) 35.8668 Tj
+1 TJm
+(tation) 35.8668 Tj
+-426 TJm
+(fault) 29.889 Tj
+-426 TJm
+(on) 11.9556 Tj
+-426 TJm
+(my) 11.9556 Tj
+-426 TJm
+(machine) 41.8446 Tj
+[1 0 0 1 72 386.087] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -376.125] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 364.169 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+-241 TJm
+(absolutely) 40.9579 Tj
+-240 TJm
+(nothing) 30.4469 Tj
+-241 TJm
+(else.) 17.9832 Tj
+-614 TJm
+(Needless) 35.9664 Tj
+-241 TJm
+(to) 7.75121 Tj
+-240 TJm
+(say) 13.2807 Tj
+65 TJm
+(,) 2.49075 Tj
+-243 TJm
+(a) 4.42357 Tj
+-241 TJm
+(such) 18.2622 Tj
+-241 TJm
+(a) 4.42357 Tj
+-240 TJm
+(report) 23.7916 Tj
+-241 TJm
+(is) 6.64532 Tj
+[1 0 0 1 324.681 364.169] cm
+0 g
+0 G
+[1 0 0 1 -324.681 -364.169] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+324.681 364.169 Td
+/F631_0 9.963 Tf
+(totally) 25.4654 Tj
+55 TJm
+(,) 2.49075 Tj
+-243 TJm
+(u) 4.9815 Tj
+1 TJm
+(tterly) 21.0319 Tj
+55 TJm
+(,) 2.49075 Tj
+-243 TJm
+(completely) 43.1597 Tj
+-241 TJm
+(and) 14.9445 Tj
+-240 TJm
+(compr) 25.4555 Tj
+37 TJm
+(ehensively) 41.4959 Tj
+-241 TJm
+(100%) 23.2437 Tj
+72 352.214 Td
+(useless;) 31.5429 Tj
+-257 TJm
+(a) 4.9815 Tj
+-255 TJm
+(waste) 22.6957 Tj
+-255 TJm
+(of) 7.75121 Tj
+-255 TJm
+(your) 18.2622 Tj
+-255 TJm
+(time) 17.1563 Tj
+10 TJm
+(,) 2.49075 Tj
+-256 TJm
+(my) 11.6169 Tj
+-255 TJm
+(t) 2.76971 Tj
+1 TJm
+(ime) 14.3866 Tj
+10 TJm
+(,) 2.49075 Tj
+-257 TJm
+(and) 14.9445 Tj
+-254 TJm
+(net) 12.1748 Tj
+-255 TJm
+(bandwidth) 42.0737 Tj
+[1 0 0 1 302.574 352.214] cm
+0 g
+0 G
+[1 0 0 1 -302.574 -352.214] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+302.574 352.214 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-649 TJm
+(W) 9.40507 Tj
+40 TJm
+(ith) 10.5209 Tj
+-255 TJm
+(no) 9.963 Tj
+-255 TJm
+(details) 26.0134 Tj
+-255 TJm
+(at) 7.19329 Tj
+-255 TJm
+(all,) 12.4538 Tj
+-256 TJm
+(there') 23.2337 Tj
+55 TJm
+(s) 3.87561 Tj
+-255 TJm
+(no) 9.963 Tj
+-255 TJm
+(w) 7.19329 Tj
+10 TJm
+(ay) 9.40507 Tj
+-254 TJm
+(I) 3.31768 Tj
+-255 TJm
+(can) 13.8286 Tj
+-255 TJm
+(possibly) 33.2166 Tj
+-255 TJm
+(be) 9.40507 Tj
+15 TJm
+(gin) 12.7327 Tj
+72 340.259 Td
+(to) 7.75121 Tj
+-250 TJm
+(\002gure) 23.2437 Tj
+-250 TJm
+(out) 12.7327 Tj
+-250 TJm
+(what) 19.3681 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(problem) 33.2067 Tj
+-249 TJm
+(is.) 9.13607 Tj
+[1 0 0 1 72 338.102] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -328.14] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 318.341 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-309 TJm
+(rules) 19.3681 Tj
+-309 TJm
+(of) 8.29918 Tj
+-309 TJm
+(the) 12.1748 Tj
+-309 TJm
+(g) 4.9815 Tj
+5 TJm
+(ame) 16.5984 Tj
+-309 TJm
+(are:) 14.9345 Tj
+-429 TJm
+(f) 3.31768 Tj
+10 TJm
+(ac) 8.84714 Tj
+1 TJm
+(ts,) 9.13607 Tj
+-324 TJm
+(f) 3.31768 Tj
+10 TJm
+(acts,) 17.9832 Tj
+-324 TJm
+(f) 3.31768 Tj
+10 TJm
+(acts.) 17.9832 Tj
+-975 TJm
+(Don') 20.474 Tj
+18 TJm
+(t) 2.76971 Tj
+-309 TJm
+(omit) 18.2721 Tj
+-309 TJm
+(them) 19.926 Tj
+-309 TJm
+(because) 31.5329 Tj
+-309 TJm
+("oh,) 16.5187 Tj
+-324 TJm
+(the) 12.1748 Tj
+15 TJm
+(y) 4.9815 Tj
+-309 TJm
+(w) 7.19329 Tj
+10 TJm
+(on') 13.2807 Tj
+18 TJm
+(t) 2.76971 Tj
+-309 TJm
+(be) 9.40507 Tj
+-309 TJm
+(rele) 14.9345 Tj
+25 TJm
+(v) 4.9815 Tj
+25 TJm
+(ant".) 18.7304 Tj
+-975 TJm
+(At) 9.963 Tj
+-309 TJm
+(the) 12.1748 Tj
+-309 TJm
+(bare) 17.1463 Tj
+72 306.386 Td
+(minimum:) 41.5258 Tj
+[1 0 0 1 72 306.287] cm
+0 g
+0 G
+[1 0 0 1 0 -60.772] cm
+0.949 0.949 0.97646 rg
+0.949 0.949 0.97646 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 59.776 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 56.189] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -296.922] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 296.922 Td
+/F130_0 9.963 Tf
+(Machine) 41.8446 Tj
+-426 TJm
+(type.) 29.889 Tj
+-852 TJm
+(Operating) 53.8002 Tj
+-425 TJm
+(system) 35.8668 Tj
+-426 TJm
+(version.) 47.8224 Tj
+90 284.967 Td
+(Exact) 29.889 Tj
+-426 TJm
+(version) 41.8446 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(bzip2) 29.889 Tj
+-426 TJm
+(\() 5.9778 Tj
+1 TJm
+(do) 11.9556 Tj
+-426 TJm
+(bzip2) 29.889 Tj
+-426 TJm
+(-V\).) 23.9112 Tj
+90 273.011 Td
+(Exact) 29.889 Tj
+-426 TJm
+(version) 41.8446 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(com) 17.9334 Tj
+1 TJm
+(piler) 29.889 Tj
+-426 TJm
+(used.) 29.889 Tj
+90 261.056 Td
+(Flags) 29.889 Tj
+-426 TJm
+(passed) 35.8668 Tj
+-426 TJm
+(to) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(comp) 23.9112 Tj
+1 TJm
+(iler.) 29.889 Tj
+[1 0 0 1 72 245.514] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -235.552] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 223.597 Td
+/F128_0 9.963 Tf
+(Ho) 12.1748 Tj
+25 TJm
+(we) 11.6169 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(er) 7.74125 Tj
+40 TJm
+(,) 2.49075 Tj
+-253 TJm
+(the) 12.1748 Tj
+-253 TJm
+(most) 19.378 Tj
+-253 TJm
+(important) 38.7461 Tj
+-252 TJm
+(single) 23.8016 Tj
+-253 TJm
+(thing) 20.4839 Tj
+-253 TJm
+(that) 14.9445 Tj
+-253 TJm
+(will) 15.5024 Tj
+-252 TJm
+(help) 17.1563 Tj
+-253 TJm
+(me) 12.1748 Tj
+-253 TJm
+(is) 6.64532 Tj
+-253 TJm
+(the) 12.1748 Tj
+-252 TJm
+(\002le) 12.7327 Tj
+-253 TJm
+(that) 14.9445 Tj
+-253 TJm
+(you) 14.9445 Tj
+-253 TJm
+(we) 11.6169 Tj
+1 TJm
+(re) 7.74125 Tj
+-253 TJm
+(trying) 23.8016 Tj
+-253 TJm
+(to) 7.75121 Tj
+-253 TJm
+(compress) 37.6303 Tj
+-252 TJm
+(or) 8.29918 Tj
+-253 TJm
+(decompress) 47.0353 Tj
+72 211.642 Td
+(at) 7.19329 Tj
+-304 TJm
+(the) 12.1748 Tj
+-305 TJm
+(time) 17.7142 Tj
+-304 TJm
+(the) 12.1748 Tj
+-304 TJm
+(problem) 33.2067 Tj
+-304 TJm
+(happened.) 40.669 Tj
+-946 TJm
+(W) 9.40507 Tj
+40 TJm
+(ithout) 23.2536 Tj
+-305 TJm
+(that,) 17.4353 Tj
+-317 TJm
+(my) 12.7327 Tj
+-305 TJm
+(ability) 25.4654 Tj
+-304 TJm
+(to) 7.75121 Tj
+-304 TJm
+(do) 9.963 Tj
+-305 TJm
+(an) 9.40507 Tj
+15 TJm
+(ythin) 20.4839 Tj
+1 TJm
+(g) 4.9815 Tj
+-305 TJm
+(more) 20.474 Tj
+-304 TJm
+(than) 17.1563 Tj
+-304 TJm
+(speculate) 37.0723 Tj
+-305 TJm
+(abou) 19.3681 Tj
+1 TJm
+(t) 2.76971 Tj
+-305 TJm
+(the) 12.1748 Tj
+-304 TJm
+(cause,) 24.6186 Tj
+-318 TJm
+(is) 6.64532 Tj
+72 199.686 Td
+(limited.) 30.7259 Tj
+[1 0 0 1 72 199.587] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -189.624] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 164.933 Td
+/F121_0 20.659 Tf
+(4.4.) 34.4592 Tj
+-278 TJm
+(Did) 33.2816 Tj
+-278 TJm
+(y) 11.4864 Tj
+25 TJm
+(ou) 25.2453 Tj
+-278 TJm
+(g) 12.6226 Tj
+-10 TJm
+(et) 18.3659 Tj
+-278 TJm
+(the) 30.9885 Tj
+-278 TJm
+(right) 45.9043 Tj
+-278 TJm
+(pac) 35.5955 Tj
+20 TJm
+(ka) 22.9728 Tj
+11 TJm
+(g) 12.6226 Tj
+-10 TJm
+(e?) 24.1091 Tj
+[1 0 0 1 72 160.337] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -150.374] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 143.016 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 143.016] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -143.016] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.603 143.016 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-272 TJm
+(a) 4.42357 Tj
+-273 TJm
+(resource) 33.7447 Tj
+-272 TJm
+(hog.) 17.4353 Tj
+-378 TJm
+(It) 6.08739 Tj
+-272 TJm
+(soaks) 22.1378 Tj
+-272 TJm
+(up) 9.963 Tj
+-273 TJm
+(lar) 10.511 Tj
+18 TJm
+(ge) 9.40507 Tj
+-272 TJm
+(amounts) 33.7646 Tj
+-273 TJm
+(of) 8.29918 Tj
+-272 TJm
+(CPU) 19.378 Tj
+-272 TJm
+(c) 4.42357 Tj
+15 TJm
+(ycles) 20.474 Tj
+-273 TJm
+(and) 14.3866 Tj
+-272 TJm
+(memory) 33.2067 Tj
+65 TJm
+(.) 2.49075 Tj
+-755 TJm
+(Also,) 21.3109 Tj
+-278 TJm
+(it) 5.53943 Tj
+-272 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-273 TJm
+(v) 4.9815 Tj
+15 TJm
+(ery) 12.7228 Tj
+-272 TJm
+(lar) 10.511 Tj
+18 TJm
+(ge) 9.40507 Tj
+-273 TJm
+(latencies.) 37.3513 Tj
+72 131.061 Td
+(In) 8.29918 Tj
+-251 TJm
+(the) 12.1748 Tj
+-251 TJm
+(w) 7.19329 Tj
+10 TJm
+(orst) 14.9445 Tj
+-251 TJm
+(case,) 19.6371 Tj
+-251 TJm
+(you) 14.9445 Tj
+-251 TJm
+(can) 13.8286 Tj
+-251 TJm
+(feed) 17.1463 Tj
+-251 TJm
+(man) 17.1563 Tj
+15 TJm
+(y) 4.9815 Tj
+-251 TJm
+(me) 12.1748 Tj
+15 TJm
+(g) 4.9815 Tj
+5 TJm
+(abytes) 25.4555 Tj
+-251 TJm
+(of) 8.29918 Tj
+-251 TJm
+(uncompressed) 56.9983 Tj
+-251 TJm
+(dat) 12.1748 Tj
+1 TJm
+(a) 4.42357 Tj
+-251 TJm
+(into) 15.5024 Tj
+-251 TJm
+(the) 12.1748 Tj
+-251 TJm
+(library) 26.5614 Tj
+-251 TJm
+(before) 25.4455 Tj
+-251 TJm
+(getting) 27.6772 Tj
+-251 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-251 TJm
+(compressed) 47.0353 Tj
+72 119.105 Td
+(output,) 27.9562 Tj
+-250 TJm
+(so) 8.85711 Tj
+-250 TJm
+(this) 14.3965 Tj
+-250 TJm
+(probably) 35.4185 Tj
+-250 TJm
+(rules) 19.3681 Tj
+-249 TJm
+(out) 12.7327 Tj
+-250 TJm
+(applications) 48.1512 Tj
+-250 TJm
+(requiring) 36.5244 Tj
+-250 TJm
+(interacti) 32.6488 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+-250 TJm
+(beha) 18.8101 Tj
+20 TJm
+(viour) 21.0319 Tj
+55 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 116.949] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 -72 -106.986] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 97.188 Td
+/F128_0 9.963 Tf
+(These) 23.7916 Tj
+-304 TJm
+(aren') 20.464 Tj
+18 TJm
+(t) 2.76971 Tj
+-304 TJm
+(f) 3.31768 Tj
+10 TJm
+(aults) 18.8201 Tj
+-304 TJm
+(of) 8.29918 Tj
+-304 TJm
+(my) 12.7327 Tj
+-304 TJm
+(im) 10.5209 Tj
+1 TJm
+(plementation,) 54.5175 Tj
+-318 TJm
+(I) 3.31768 Tj
+-304 TJm
+(hope,) 21.8588 Tj
+-317 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-304 TJm
+(more) 20.474 Tj
+-304 TJm
+(an) 9.40507 Tj
+-304 TJm
+(intrinsic) 32.6587 Tj
+-304 TJm
+(property) 33.7546 Tj
+-304 TJm
+(of) 8.29918 Tj
+-303 TJm
+(the) 12.1748 Tj
+-304 TJm
+(Burro) 23.2437 Tj
+25 TJm
+(ws-Wheeler) 48.1313 Tj
+-304 TJm
+(transform) 38.7361 Tj
+72 85.232 Td
+(\(unfortunately\).) 62.8068 Tj
+-620 TJm
+(Maybe) 27.6673 Tj
+-250 TJm
+(this) 14.3965 Tj
+-249 TJm
+(isn') 14.9445 Tj
+18 TJm
+(t) 2.76971 Tj
+-250 TJm
+(what) 19.3681 Tj
+-250 TJm
+(you) 14.9445 Tj
+-250 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant.) 14.6655 Tj
+[1 0 0 1 72 83.076] cm
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+[1 0 0 1 0 -22.261] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(33) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 37 37
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -6.854] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 116.329 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -382.4 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+498.728 749.245 Td
+/F128_0 9.963 Tf
+(Miscellanea) 48.1412 Tj
+[1 0 0 1 266.071 749.146] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -7.094] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(If) 6.63536 Tj
+-275 TJm
+(you) 14.9445 Tj
+-274 TJm
+(w) 7.19329 Tj
+10 TJm
+(ant) 12.1748 Tj
+-275 TJm
+(a) 4.42357 Tj
+-274 TJm
+(compressor) 45.9294 Tj
+-275 TJm
+(and/or) 25.4555 Tj
+-274 TJm
+(library) 26.5614 Tj
+-275 TJm
+(which) 24.3496 Tj
+-274 TJm
+(is) 6.64532 Tj
+-275 TJm
+(f) 3.31768 Tj
+10 TJm
+(aster) 18.8101 Tj
+40 TJm
+(,) 2.49075 Tj
+-280 TJm
+(uses) 17.1563 Tj
+-275 TJm
+(less) 14.9445 Tj
+-274 TJm
+(memory) 33.2067 Tj
+-275 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-274 TJm
+(gets) 16.0504 Tj
+-275 TJm
+(pretty) 23.2437 Tj
+-274 TJm
+(good) 19.926 Tj
+-275 TJm
+(compression,) 52.8537 Tj
+-280 TJm
+(and) 14.3866 Tj
+-275 TJm
+(has) 13.2807 Tj
+72 698.082 Td
+(minimal) 33.2166 Tj
+-288 TJm
+(latenc) 23.7916 Tj
+15 TJm
+(y) 4.9815 Tj
+65 TJm
+(,) 2.49075 Tj
+-297 TJm
+(consider) 33.7546 Tj
+-288 TJm
+(Jean-lou) 33.7546 Tj
+1 TJm
+(p) 4.9815 Tj
+-288 TJm
+(Gailly') 28.2252 Tj
+55 TJm
+(s) 3.87561 Tj
+-288 TJm
+(and) 14.3866 Tj
+-288 TJm
+(Mark) 21.5799 Tj
+-288 TJm
+(Adler') 26.0034 Tj
+55 TJm
+(s) 3.87561 Tj
+-287 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork,) 15.7714 Tj
+[1 0 0 1 353.879 698.082] cm
+0 g
+0 G
+[1 0 0 1 -353.879 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+353.879 698.082 Td
+/F130_0 9.963 Tf
+(zlib-1.2.1) 59.778 Tj
+[1 0 0 1 413.655 698.082] cm
+0 g
+0 G
+[1 0 0 1 -413.655 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+416.523 698.082 Td
+/F128_0 9.963 Tf
+(and) 14.3866 Tj
+[1 0 0 1 433.777 698.082] cm
+0 g
+0 G
+[1 0 0 1 -433.777 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+433.777 698.082 Td
+/F130_0 9.963 Tf
+(gzip-1.2.4) 59.778 Tj
+[1 0 0 1 493.553 698.082] cm
+0 g
+0 G
+[1 0 0 1 -493.553 -698.082] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+493.553 698.082 Td
+/F128_0 9.963 Tf
+(.) 2.49075 Tj
+-847 TJm
+(Look) 21.0319 Tj
+-288 TJm
+(for) 11.6169 Tj
+72 686.127 Td
+(them) 19.926 Tj
+-250 TJm
+(at) 7.19329 Tj
+-250 TJm
+(http://www) 45.3914 Tj
+65 TJm
+(.zlib) 17.4353 Tj
+40 TJm
+(.or) 10.7899 Tj
+18 TJm
+(g) 4.9815 Tj
+-250 TJm
+(a) 4.42357 Tj
+1 TJm
+(nd) 9.963 Tj
+-250 TJm
+(http://www) 45.3914 Tj
+65 TJm
+(.gzip.or) 30.437 Tj
+18 TJm
+(g) 4.9815 Tj
+-250 TJm
+(respecti) 30.9849 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(ely) 12.1748 Tj
+65 TJm
+(.) 2.49075 Tj
+[1 0 0 1 72 683.97] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -674.008] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 664.209 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(or) 8.29918 Tj
+-582 TJm
+(something) 41.5158 Tj
+-582 TJm
+(f) 3.31768 Tj
+10 TJm
+(aster) 18.8101 Tj
+-583 TJm
+(and) 14.3866 Tj
+-582 TJm
+(lighter) 26.0134 Tj
+-582 TJm
+(still,) 17.4452 Tj
+-665 TJm
+(you) 14.9445 Tj
+-583 TJm
+(m) 7.75121 Tj
+1 TJm
+(ight) 15.5024 Tj
+-583 TJm
+(try) 11.0689 Tj
+-582 TJm
+(Markus) 30.437 Tj
+-582 TJm
+(F) 5.53943 Tj
+-582 TJm
+(X) 7.19329 Tj
+-582 TJm
+(J) 3.87561 Tj
+-582 TJm
+(Oberhumer') 48.6892 Tj
+55 TJm
+(s) 3.87561 Tj
+[1 0 0 1 437.433 664.209] cm
+0 g
+0 G
+[1 0 0 1 -437.433 -664.209] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+437.433 664.209 Td
+/F130_0 9.963 Tf
+(LZO) 17.9334 Tj
+[1 0 0 1 455.365 664.209] cm
+0 g
+0 G
+[1 0 0 1 -455.365 -664.209] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+461.164 664.209 Td
+/F128_0 9.963 Tf
+(real-time) 35.9664 Tj
+-582 TJm
+(compres-) 37.0723 Tj
+72 652.254 Td
+(sion/decompression) 79.1461 Tj
+-250 TJm
+(library) 26.5614 Tj
+65 TJm
+(,) 2.49075 Tj
+-250 TJm
+(a) 4.42357 Tj
+1 TJm
+(t) 2.76971 Tj
+-250 TJm
+(http://www) 45.3914 Tj
+65 TJm
+(.oberhumer) 45.6505 Tj
+55 TJm
+(.com/opensource.) 70.279 Tj
+[1 0 0 1 72 650.097] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -640.135] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 617.501 Td
+/F121_0 20.659 Tf
+(4.5.) 34.4592 Tj
+-278 TJm
+(Fur) 33.2816 Tj
+-20 TJm
+(ther) 39.0249 Tj
+-278 TJm
+(Reading) 81.4998 Tj
+[1 0 0 1 72 612.905] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 0 -9.963] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -72 -602.942] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 595.583 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 101.888 595.583] cm
+0 g
+0 G
+[1 0 0 1 -101.888 -595.583] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+104.923 595.583 Td
+/F128_0 9.963 Tf
+(is) 6.64532 Tj
+-305 TJm
+(n) 4.9815 Tj
+1 TJm
+(ot) 7.75121 Tj
+-305 TJm
+(research) 33.1868 Tj
+-304 TJm
+(w) 7.19329 Tj
+10 TJm
+(ork,) 15.7714 Tj
+-319 TJm
+(in) 7.75121 Tj
+-304 TJm
+(the) 12.1748 Tj
+-305 TJm
+(sense) 21.5799 Tj
+-304 TJm
+(that) 14.9445 Tj
+-305 TJm
+(it) 5.53943 Tj
+-304 TJm
+(doesn') 26.5614 Tj
+18 TJm
+(t) 2.76971 Tj
+-305 TJm
+(present) 28.7731 Tj
+-304 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-305 TJm
+(ne) 9.40507 Tj
+25 TJm
+(w) 7.19329 Tj
+-304 TJm
+(ideas.) 22.9647 Tj
+-474 TJm
+(Rather) 26.5614 Tj
+40 TJm
+(,) 2.49075 Tj
+-318 TJm
+(it') 8.85711 Tj
+55 TJm
+(s) 3.87561 Tj
+-305 TJm
+(an) 9.40507 Tj
+-304 TJm
+(engineering) 47.0353 Tj
+-305 TJm
+(e) 4.42357 Tj
+15 TJm
+(x) 4.9815 Tj
+15 TJm
+(e) 4.42357 Tj
+1 TJm
+(rcise) 18.8101 Tj
+72 583.628 Td
+(based) 22.6858 Tj
+-250 TJm
+(on) 9.963 Tj
+-250 TJm
+(e) 4.42357 Tj
+15 TJm
+(xisting) 27.1292 Tj
+-250 TJm
+(ideas.) 22.9647 Tj
+[1 0 0 1 72 581.471] cm
+0 g
+0 G
+[1 0 0 1 0 -9.962] cm
+0 g
+0 G
+[1 0 0 1 -72 -571.509] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 561.71 Td
+/F128_0 9.963 Tf
+(F) 5.53943 Tj
+15 TJm
+(our) 13.2807 Tj
+-250 TJm
+(documents) 43.1697 Tj
+-250 TJm
+(describe) 33.1967 Tj
+-250 TJm
+(esse) 16.5984 Tj
+1 TJm
+(ntially) 25.4654 Tj
+-250 TJm
+(all) 9.963 Tj
+-250 TJm
+(the) 12.1748 Tj
+-250 TJm
+(ideas) 20.474 Tj
+-250 TJm
+(behind) 27.1193 Tj
+[1 0 0 1 298.747 561.71] cm
+0 g
+0 G
+[1 0 0 1 -298.747 -561.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+298.747 561.71 Td
+/F130_0 9.963 Tf
+(bzip2) 29.889 Tj
+[1 0 0 1 328.635 561.71] cm
+0 g
+0 G
+[1 0 0 1 -328.635 -561.71] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+328.635 561.71 Td
+/F128_0 9.963 Tf
+(:) 2.76971 Tj
+[1 0 0 1 72 559.554] cm
+0 g
+0 G
+[1 0 0 1 0 -299.876] cm
+0.9294 0.96861 0.95685 rg
+0.9294 0.96861 0.95685 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 298.879 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 295.292] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -550.189] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 550.189 Td
+/F130_0 9.963 Tf
+(Michael) 41.8446 Tj
+-426 TJm
+(Burrows) 41.8446 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(D.) 11.9556 Tj
+-426 TJm
+(J) 5.9778 Tj
+1 TJm
+(.) 5.9778 Tj
+-426 TJm
+(Wheeler:) 47.8224 Tj
+98.488 538.234 Td
+("A) 11.9556 Tj
+-426 TJm
+(block-sorting) 77.7114 Tj
+-426 TJm
+(lossless) 47.8224 Tj
+-425 TJm
+(data) 23.9112 Tj
+-426 TJm
+(compression) 65.7558 Tj
+-426 TJm
+(algorithm") 59.778 Tj
+102.732 526.278 Td
+(10th) 23.9112 Tj
+-426 TJm
+(May) 17.9334 Tj
+-426 TJm
+(1994.) 29.889 Tj
+102.732 514.323 Td
+(Digital) 41.8446 Tj
+-426 TJm
+(SRC) 17.9334 Tj
+-426 TJm
+(Research) 47.8224 Tj
+-426 TJm
+(Rep) 17.9334 Tj
+1 TJm
+(ort) 17.9334 Tj
+-426 TJm
+(124.) 23.9112 Tj
+102.732 502.368 Td
+(ftp://ftp.digital.com/pub) 149.445 Tj
+1 TJm
+(/DEC/SRC/research-reports/SRC-124.ps.gz) 233.134 Tj
+102.732 490.413 Td
+(If) 11.9556 Tj
+-426 TJm
+(you) 17.9334 Tj
+-426 TJm
+(have) 23.9112 Tj
+-426 TJm
+(trouble) 41.8446 Tj
+-426 TJm
+(find) 23.9112 Tj
+1 TJm
+(ing) 17.9334 Tj
+-426 TJm
+(it,) 17.9334 Tj
+-426 TJm
+(try) 17.9334 Tj
+-426 TJm
+(searching) 53.8002 Tj
+-426 TJm
+(at) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+102.732 478.458 Td
+(New) 17.9334 Tj
+-426 TJm
+(Zealand) 41.8446 Tj
+-426 TJm
+(Digital) 41.8446 Tj
+-426 TJm
+(Libr) 23.9112 Tj
+1 TJm
+(ary,) 23.9112 Tj
+-426 TJm
+(http://www.nzdl.org.) 119.556 Tj
+90 454.547 Td
+(Daniel) 35.8668 Tj
+-426 TJm
+(S.) 11.9556 Tj
+-426 TJm
+(Hirschberg) 59.778 Tj
+-426 TJm
+(and) 17.9334 Tj
+-425 TJm
+(Debra) 29.889 Tj
+-426 TJm
+(A.) 11.9556 Tj
+-426 TJm
+(LeLewer) 41.8446 Tj
+98.488 442.592 Td
+("Efficient) 59.778 Tj
+-426 TJm
+(Decoding) 47.8224 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(Pr) 11.9556 Tj
+1 TJm
+(efix) 23.9112 Tj
+-426 TJm
+(Codes") 35.8668 Tj
+102.732 430.637 Td
+(Communications) 83.6892 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(ACM) 17.9334 Tj
+1 TJm
+(,) 5.9778 Tj
+-426 TJm
+(April) 29.889 Tj
+-426 TJm
+(1990,) 29.889 Tj
+-426 TJm
+(Vol) 17.9334 Tj
+-426 TJm
+(33,) 17.9334 Tj
+-426 TJm
+(Number) 35.8668 Tj
+-426 TJm
+(4.) 11.9556 Tj
+102.732 418.682 Td
+(You) 17.9334 Tj
+-426 TJm
+(might) 29.889 Tj
+-426 TJm
+(be) 11.9556 Tj
+-426 TJm
+(able) 23.9112 Tj
+-426 TJm
+(to) 11.9556 Tj
+-426 TJm
+(get) 17.9334 Tj
+-425 TJm
+(an) 11.9556 Tj
+-426 TJm
+(electronic) 59.778 Tj
+-426 TJm
+(copy) 23.9112 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(this) 23.9112 Tj
+102.732 406.727 Td
+(from) 23.9112 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(ACM) 17.9334 Tj
+-426 TJm
+(Digital) 41.8446 Tj
+-426 TJm
+(Lib) 17.9334 Tj
+1 TJm
+(rary.) 29.889 Tj
+90 382.816 Td
+(David) 29.889 Tj
+-426 TJm
+(J.) 11.9556 Tj
+-426 TJm
+(Wheeler) 41.8446 Tj
+102.732 370.861 Td
+(Program) 41.8446 Tj
+-426 TJm
+(bred3.c) 41.8446 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(accom) 29.889 Tj
+1 TJm
+(panying) 41.8446 Tj
+-426 TJm
+(document) 47.8224 Tj
+-426 TJm
+(bred3.ps.) 53.8002 Tj
+102.732 358.906 Td
+(This) 23.9112 Tj
+-426 TJm
+(contains) 47.8224 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(idea) 23.9112 Tj
+-426 TJm
+(b) 5.9778 Tj
+1 TJm
+(ehind) 29.889 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(multi-table) 65.7558 Tj
+-426 TJm
+(Huffman) 41.8446 Tj
+-426 TJm
+(coding) 35.8668 Tj
+-426 TJm
+(scheme.) 41.8446 Tj
+102.732 346.951 Td
+(ftp://ftp.cl.cam.ac.uk/us) 149.445 Tj
+1 TJm
+(ers/djw3/) 53.8002 Tj
+90 323.04 Td
+(Jon) 17.9334 Tj
+-426 TJm
+(L.) 11.9556 Tj
+-426 TJm
+(Bentley) 41.8446 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(Robert) 35.8668 Tj
+-425 TJm
+(Sedgewick) 53.8002 Tj
+98.488 311.085 Td
+("Fast) 29.889 Tj
+-426 TJm
+(Algorithms) 59.778 Tj
+-426 TJm
+(for) 17.9334 Tj
+-426 TJm
+(Sort) 23.9112 Tj
+1 TJm
+(ing) 17.9334 Tj
+-426 TJm
+(and) 17.9334 Tj
+-426 TJm
+(Searching) 53.8002 Tj
+-426 TJm
+(Strings") 47.8224 Tj
+102.732 299.13 Td
+(Available) 53.8002 Tj
+-426 TJm
+(from) 23.9112 Tj
+-426 TJm
+(Sedgewick') 59.778 Tj
+1 TJm
+(s) 5.9778 Tj
+-426 TJm
+(web) 17.9334 Tj
+-426 TJm
+(page,) 29.889 Tj
+102.732 287.175 Td
+(www.cs.princeton.edu/~rs) 143.467 Tj
+[1 0 0 1 72 259.678] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -249.715] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 237.76 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-239 TJm
+(follo) 18.8201 Tj
+26 TJm
+(wing) 19.926 Tj
+-239 TJm
+(paper) 22.1278 Tj
+-239 TJm
+(gi) 7.75121 Tj
+25 TJm
+(v) 4.9815 Tj
+15 TJm
+(es) 8.29918 Tj
+-238 TJm
+(v) 4.9815 Tj
+25 TJm
+(aluable) 28.7731 Tj
+-239 TJm
+(additiona) 37.0823 Tj
+1 TJm
+(l) 2.76971 Tj
+-239 TJm
+(insights) 31.0049 Tj
+-239 TJm
+(into) 15.5024 Tj
+-238 TJm
+(the) 12.1748 Tj
+-239 TJm
+(algorithm,) 41.2369 Tj
+-240 TJm
+(b) 4.9815 Tj
+20 TJm
+(ut) 7.75121 Tj
+-239 TJm
+(is) 6.64532 Tj
+-239 TJm
+(not) 12.7327 Tj
+-238 TJm
+(immediately) 49.815 Tj
+-239 TJm
+(the) 12.1748 Tj
+-238 TJm
+(basis) 19.926 Tj
+-239 TJm
+(of) 8.29918 Tj
+-238 TJm
+(an) 9.40507 Tj
+15 TJm
+(y) 4.9815 Tj
+-239 TJm
+(code) 18.8101 Tj
+72 225.805 Td
+(used) 18.2622 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(bzip2.) 24.6285 Tj
+[1 0 0 1 72 223.648] cm
+0 g
+0 G
+[1 0 0 1 0 -72.727] cm
+0.9294 0.96861 0.95685 rg
+0.9294 0.96861 0.95685 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 71.731 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.587] cm
+0 g
+0 G
+[1 0 0 1 0 68.144] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -214.283] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 214.283 Td
+/F130_0 9.963 Tf
+(Peter) 29.889 Tj
+-426 TJm
+(Fenwick:) 47.8224 Tj
+102.732 202.328 Td
+(Block) 29.889 Tj
+-426 TJm
+(Sorting) 41.8446 Tj
+-426 TJm
+(Text) 23.9112 Tj
+-426 TJm
+(Compr) 29.889 Tj
+1 TJm
+(ession) 35.8668 Tj
+102.732 190.373 Td
+(Proceedings) 65.7558 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(19th) 23.9112 Tj
+-425 TJm
+(Australasian) 71.7336 Tj
+-426 TJm
+(Computer) 47.8224 Tj
+-426 TJm
+(Science) 41.8446 Tj
+-426 TJm
+(Conference,) 65.7558 Tj
+111.22 178.418 Td
+(Melbourne,) 59.778 Tj
+-426 TJm
+(Australia.) 59.778 Tj
+-852 TJm
+(J) 5.9778 Tj
+1 TJm
+(an) 11.9556 Tj
+-426 TJm
+(31) 11.9556 Tj
+-426 TJm
+(-) 5.9778 Tj
+-426 TJm
+(Feb) 17.9334 Tj
+-426 TJm
+(2,) 11.9556 Tj
+-426 TJm
+(1996.) 29.889 Tj
+102.732 166.463 Td
+(ftp://ftp.cs.auckland.ac.) 149.445 Tj
+1 TJm
+(nz/pub/peter-f/ACSC96paper.ps) 173.356 Tj
+[1 0 0 1 72 150.921] cm
+0 g
+0 G
+[1 0 0 1 468 3.587] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.55] cm
+0 g
+0 G
+[1 0 0 1 -72 -140.958] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 129.003 Td
+/F128_0 9.963 Tf
+(K) 7.19329 Tj
+15 TJm
+(unihik) 25.4654 Tj
+10 TJm
+(o) 4.9815 Tj
+-250 TJm
+(Sadakane') 41.4959 Tj
+55 TJm
+(s) 3.87561 Tj
+-250 TJm
+(sorting) 27.6772 Tj
+-250 TJm
+(al) 7.19329 Tj
+1 TJm
+(gorithm,) 34.0436 Tj
+-250 TJm
+(mentioned) 42.0638 Tj
+-250 TJm
+(abo) 14.3866 Tj
+15 TJm
+(v) 4.9815 Tj
+15 TJm
+(e,) 6.91432 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailable) 26.5614 Tj
+-250 TJm
+(from:) 22.1378 Tj
+[1 0 0 1 72 126.846] cm
+0 g
+0 G
+[1 0 0 1 0 -36.861] cm
+0.9294 0.96861 0.95685 rg
+0.9294 0.96861 0.95685 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -117.481] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 117.481 Td
+/F130_0 9.963 Tf
+(http://naomi.is.s.u-tokyo.) 155.423 Tj
+1 TJm
+(ac.jp/~sada/papers/Sada98b.ps.gz) 191.29 Tj
+[1 0 0 1 72 89.985] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 0 -29.17] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(34) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Page: 38 38
+%%BeginPageSetup
+%%PageOrientation: Portrait
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+0 g
+0 G
+q
+[1 0 0 1 72 741.554] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 14.446] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 187.197 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.49 -6.854] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 116.329 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -382.4 -749.245] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+498.728 749.245 Td
+/F128_0 9.963 Tf
+(Miscellanea) 48.1412 Tj
+[1 0 0 1 266.071 749.146] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 280.796 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -472.974 -7.094] cm
+0 g
+0 G
+[1 0 0 1 0 -0.498] cm
+q
+[] 0 d
+0 J
+0.498 w
+0 0.249 m
+475.465 0.249 l
+S
+Q
+0 g
+0 G
+[1 0 0 1 479.251 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+[1 0 0 1 -540 -741.554] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 710.037 Td
+/F128_0 9.963 Tf
+(The) 15.4925 Tj
+-250 TJm
+(Manber) 30.9849 Tj
+20 TJm
+(-Myers) 28.7731 Tj
+-250 TJm
+(suf) 12.1748 Tj
+25 TJm
+(\002x) 10.5209 Tj
+-250 TJm
+(arra) 15.4825 Tj
+1 TJm
+(y) 4.9815 Tj
+-250 TJm
+(construction) 49.2571 Tj
+-250 TJm
+(algorithm) 38.7461 Tj
+-250 TJm
+(is) 6.64532 Tj
+-250 TJm
+(described) 38.1782 Tj
+-250 TJm
+(in) 7.75121 Tj
+-250 TJm
+(a) 4.42357 Tj
+-250 TJm
+(paper) 22.1278 Tj
+-250 TJm
+(a) 4.42357 Tj
+20 TJm
+(v) 4.9815 Tj
+25 TJm
+(ailabl) 22.1378 Tj
+1 TJm
+(e) 4.42357 Tj
+-250 TJm
+(from:) 22.1378 Tj
+[1 0 0 1 72 707.881] cm
+0 g
+0 G
+[1 0 0 1 0 -36.862] cm
+0.9294 0.96861 0.95685 rg
+0.9294 0.96861 0.95685 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 35.866 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 32.279] cm
+0 g
+0 G
+[1 0 0 1 18 -8.368] cm
+0 g
+0 G
+[1 0 0 1 -90 -698.516] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 698.516 Td
+/F130_0 9.963 Tf
+(http://www.cs.arizona.edu/) 155.423 Tj
+1 TJm
+(people/gene/PAPERS/suffix.ps) 167.378 Tj
+[1 0 0 1 72 671.019] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -13.549] cm
+0 g
+0 G
+[1 0 0 1 -72 -661.056] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+72 649.101 Td
+/F128_0 9.963 Tf
+(Finally) 28.2351 Tj
+65 TJm
+(,) 2.49075 Tj
+-227 TJm
+(the) 12.1748 Tj
+-221 TJm
+(follo) 18.8201 Tj
+25 TJm
+(wing) 19.926 Tj
+-221 TJm
+(papers) 26.0034 Tj
+-222 TJm
+(docume) 31.5429 Tj
+1 TJm
+(nt) 7.75121 Tj
+-222 TJm
+(some) 21.0319 Tj
+-221 TJm
+(in) 7.75121 Tj
+40 TJm
+(v) 4.9815 Tj
+15 TJm
+(estig) 18.8201 Tj
+5 TJm
+(ations) 23.8016 Tj
+-221 TJm
+(I) 3.31768 Tj
+-221 TJm
+(made) 21.5799 Tj
+-222 TJm
+(into) 15.5024 Tj
+-221 TJm
+(the) 12.1748 Tj
+-221 TJm
+(performance) 50.343 Tj
+-221 TJm
+(of) 8.29918 Tj
+-222 TJm
+(sorting) 27.6772 Tj
+-221 TJm
+(and) 14.3866 Tj
+-221 TJm
+(decompression) 59.768 Tj
+72 637.146 Td
+(algorithms:) 45.3914 Tj
+[1 0 0 1 72 634.989] cm
+0 g
+0 G
+[1 0 0 1 0 -132.503] cm
+0.9294 0.96861 0.95685 rg
+0.9294 0.96861 0.95685 RG
+q
+[] 0 d
+0 J
+0 j
+0 w
+0 0 468 131.507 re
+f
+Q
+0 g
+0 G
+[1 0 0 1 0 3.586] cm
+0 g
+0 G
+[1 0 0 1 0 127.921] cm
+0 g
+0 G
+[1 0 0 1 18 -8.369] cm
+0 g
+0 G
+[1 0 0 1 -90 -625.624] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+90 625.624 Td
+/F130_0 9.963 Tf
+(Julian) 35.8668 Tj
+-426 TJm
+(Seward) 35.8668 Tj
+102.732 613.669 Td
+(On) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(Performance) 65.7558 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(BW) 11.9556 Tj
+1 TJm
+(T) 5.9778 Tj
+-426 TJm
+(Sorting) 41.8446 Tj
+-426 TJm
+(Algorithms) 59.778 Tj
+102.732 601.714 Td
+(Proceedings) 65.7558 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(IEEE) 23.9112 Tj
+-425 TJm
+(Data) 23.9112 Tj
+-426 TJm
+(Compression) 65.7558 Tj
+-426 TJm
+(Conference) 59.778 Tj
+-426 TJm
+(2000) 23.9112 Tj
+111.22 589.759 Td
+(Snowbird,) 53.8002 Tj
+-426 TJm
+(Utah.) 29.889 Tj
+-852 TJm
+(28-30) 29.889 Tj
+-426 TJm
+(M) 5.9778 Tj
+1 TJm
+(arch) 23.9112 Tj
+-426 TJm
+(2000.) 29.889 Tj
+90 565.848 Td
+(Julian) 35.8668 Tj
+-426 TJm
+(Seward) 35.8668 Tj
+102.732 553.893 Td
+(Space-time) 59.778 Tj
+-426 TJm
+(Tradeoffs) 53.8002 Tj
+-426 TJm
+(in) 11.9556 Tj
+-425 TJm
+(the) 17.9334 Tj
+-426 TJm
+(Inverse) 41.8446 Tj
+-426 TJm
+(B-W) 17.9334 Tj
+-426 TJm
+(Transform) 53.8002 Tj
+102.732 541.938 Td
+(Proceedings) 65.7558 Tj
+-426 TJm
+(of) 11.9556 Tj
+-426 TJm
+(the) 17.9334 Tj
+-426 TJm
+(IEEE) 23.9112 Tj
+-425 TJm
+(Data) 23.9112 Tj
+-426 TJm
+(Compression) 65.7558 Tj
+-426 TJm
+(Conference) 59.778 Tj
+-426 TJm
+(2001) 23.9112 Tj
+111.22 529.983 Td
+(Snowbird,) 53.8002 Tj
+-426 TJm
+(Utah.) 29.889 Tj
+-852 TJm
+(27-29) 29.889 Tj
+-426 TJm
+(M) 5.9778 Tj
+1 TJm
+(arch) 23.9112 Tj
+-426 TJm
+(2001.) 29.889 Tj
+[1 0 0 1 72 502.486] cm
+0 g
+0 G
+[1 0 0 1 468 3.586] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 -468 -3.586] cm
+0 g
+0 G
+[1 0 0 1 0 -451.634] cm
+0 g
+0 G
+[1 0 0 1 1.893 0] cm
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 374.394 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 2.491 0] cm
+0 g
+0 G
+[1 0 0 1 0 6.854] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 40.572 -6.755] cm
+0 g
+0 G
+[1 0 0 1 -493.841 -50.951] cm
+[1 0 0 1 0 0] Tm
+0 0 Td
+534.414 50.951 Td
+/F128_0 9.963 Tf
+(35) 9.963 Tj
+[1 0 0 1 453.269 50.852] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 93.598 0] cm
+0 g
+0 G
+0 g
+0 G
+[1 0 0 1 6.277 0] cm
+0 g
+0 G
+[1 0 0 1 -13.144 0] cm
+0 g
+0 G
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Trailer
+end
+%%DocumentSuppliedResources:
+%%+ font CJBHNS+CMMI10
+%%+ font RBGKEI+CMSY10
+%%EOF
diff --git a/commands/bzip2-1.0.3/manual.xml b/commands/bzip2-1.0.3/manual.xml
new file mode 100644 (file)
index 0000000..1ab5bd7
--- /dev/null
@@ -0,0 +1,2966 @@
+<?xml version="1.0"?> <!-- -*- sgml -*- -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"[
+
+<!-- various strings, dates etc. common to all docs -->
+<!ENTITY % common-ents SYSTEM "entities.xml"> %common-ents;
+]>
+
+<book lang="en" id="userman" xreflabel="bzip2 Manual">
+
+ <bookinfo>
+  <title>bzip2 and libbzip2, version 1.0.3</title>
+  <subtitle>A program and library for data compression</subtitle>
+  <copyright>
+   <year>&bz-lifespan;</year>
+   <holder>Julian Seward</holder>
+  </copyright>
+  <releaseinfo>Version &bz-version; of &bz-date;</releaseinfo>
+
+  <authorgroup>
+   <author>
+    <firstname>Julian</firstname>
+    <surname>Seward</surname>
+    <affiliation>
+     <orgname>&bz-url;</orgname>
+    </affiliation>
+   </author>
+  </authorgroup>
+
+  <legalnotice>
+
+  <para>This program, <computeroutput>bzip2</computeroutput>, the
+  associated library <computeroutput>libbzip2</computeroutput>, and
+  all documentation, are copyright &copy; &bz-lifespan; Julian Seward.
+  All rights reserved.</para>
+
+  <para>Redistribution and use in source and binary forms, with
+  or without modification, are permitted provided that the
+  following conditions are met:</para>
+
+  <itemizedlist mark='bullet'>
+
+   <listitem><para>Redistributions of source code must retain the
+   above copyright notice, this list of conditions and the
+   following disclaimer.</para></listitem>
+
+   <listitem><para>The origin of this software must not be
+   misrepresented; you must not claim that you wrote the original
+   software.  If you use this software in a product, an
+   acknowledgment in the product documentation would be
+   appreciated but is not required.</para></listitem>
+
+   <listitem><para>Altered source versions must be plainly marked
+   as such, and must not be misrepresented as being the original
+   software.</para></listitem>
+
+   <listitem><para>The name of the author may not be used to
+   endorse or promote products derived from this software without
+   specific prior written permission.</para></listitem>
+
+  </itemizedlist>
+
+  <para>THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY
+  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+  PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+  AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+  THE POSSIBILITY OF SUCH DAMAGE.</para>
+
+ <para>PATENTS: To the best of my knowledge,
+ <computeroutput>bzip2</computeroutput> and
+ <computeroutput>libbzip2</computeroutput> do not use any patented
+ algorithms.  However, I do not have the resources to carry
+ out a patent search.  Therefore I cannot give any guarantee of
+ the above statement.
+ </para>
+
+</legalnotice>
+
+</bookinfo>
+
+
+
+<chapter id="intro" xreflabel="Introduction">
+<title>Introduction</title>
+
+<para><computeroutput>bzip2</computeroutput> compresses files
+using the Burrows-Wheeler block-sorting text compression
+algorithm, and Huffman coding.  Compression is generally
+considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of
+the PPM family of statistical compressors.</para>
+
+<para><computeroutput>bzip2</computeroutput> is built on top of
+<computeroutput>libbzip2</computeroutput>, a flexible library for
+handling compressed data in the
+<computeroutput>bzip2</computeroutput> format.  This manual
+describes both how to use the program and how to work with the
+library interface.  Most of the manual is devoted to this
+library, not the program, which is good news if your interest is
+only in the program.</para>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para><xref linkend="using"/> describes how to use
+ <computeroutput>bzip2</computeroutput>; this is the only part
+ you need to read if you just want to know how to operate the
+ program.</para></listitem>
+
+ <listitem><para><xref linkend="libprog"/> describes the
+ programming interfaces in detail, and</para></listitem>
+
+ <listitem><para><xref linkend="misc"/> records some
+ miscellaneous notes which I thought ought to be recorded
+ somewhere.</para></listitem>
+
+</itemizedlist>
+
+</chapter>
+
+
+<chapter id="using" xreflabel="How to use bzip2">
+<title>How to use bzip2</title>
+
+<para>This chapter contains a copy of the
+<computeroutput>bzip2</computeroutput> man page, and nothing
+else.</para>
+
+<sect1 id="name" xreflabel="NAME">
+<title>NAME</title>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para><computeroutput>bzip2</computeroutput>,
+  <computeroutput>bunzip2</computeroutput> - a block-sorting file
+  compressor, v1.0.3</para></listitem>
+
+ <listitem><para><computeroutput>bzcat</computeroutput> -
+   decompresses files to stdout</para></listitem>
+
+ <listitem><para><computeroutput>bzip2recover</computeroutput> -
+   recovers data from damaged bzip2 files</para></listitem>
+
+</itemizedlist>
+
+</sect1>
+
+
+<sect1 id="synopsis" xreflabel="SYNOPSIS">
+<title>SYNOPSIS</title>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para><computeroutput>bzip2</computeroutput> [
+  -cdfkqstvzVL123456789 ] [ filenames ...  ]</para></listitem>
+
+ <listitem><para><computeroutput>bunzip2</computeroutput> [
+  -fkvsVL ] [ filenames ...  ]</para></listitem>
+
+ <listitem><para><computeroutput>bzcat</computeroutput> [ -s ] [
+  filenames ...  ]</para></listitem>
+
+ <listitem><para><computeroutput>bzip2recover</computeroutput>
+  filename</para></listitem>
+
+</itemizedlist>
+
+</sect1>
+
+
+<sect1 id="description" xreflabel="DESCRIPTION">
+<title>DESCRIPTION</title>
+
+<para><computeroutput>bzip2</computeroutput> compresses files
+using the Burrows-Wheeler block sorting text compression
+algorithm, and Huffman coding.  Compression is generally
+considerably better than that achieved by more conventional
+LZ77/LZ78-based compressors, and approaches the performance of
+the PPM family of statistical compressors.</para>
+
+<para>The command-line options are deliberately very similar to
+those of GNU <computeroutput>gzip</computeroutput>, but they are
+not identical.</para>
+
+<para><computeroutput>bzip2</computeroutput> expects a list of
+file names to accompany the command-line flags.  Each file is
+replaced by a compressed version of itself, with the name
+<computeroutput>original_name.bz2</computeroutput>.  Each
+compressed file has the same modification date, permissions, and,
+when possible, ownership as the corresponding original, so that
+these properties can be correctly restored at decompression time.
+File name handling is naive in the sense that there is no
+mechanism for preserving original file names, permissions,
+ownerships or dates in filesystems which lack these concepts, or
+have serious file name length restrictions, such as
+MS-DOS.</para>
+
+<para><computeroutput>bzip2</computeroutput> and
+<computeroutput>bunzip2</computeroutput> will by default not
+overwrite existing files.  If you want this to happen, specify
+the <computeroutput>-f</computeroutput> flag.</para>
+
+<para>If no file names are specified,
+<computeroutput>bzip2</computeroutput> compresses from standard
+input to standard output.  In this case,
+<computeroutput>bzip2</computeroutput> will decline to write
+compressed output to a terminal, as this would be entirely
+incomprehensible and therefore pointless.</para>
+
+<para><computeroutput>bunzip2</computeroutput> (or
+<computeroutput>bzip2 -d</computeroutput>) decompresses all
+specified files.  Files which were not created by
+<computeroutput>bzip2</computeroutput> will be detected and
+ignored, and a warning issued.
+<computeroutput>bzip2</computeroutput> attempts to guess the
+filename for the decompressed file from that of the compressed
+file as follows:</para>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para><computeroutput>filename.bz2 </computeroutput>
+  becomes
+  <computeroutput>filename</computeroutput></para></listitem>
+
+ <listitem><para><computeroutput>filename.bz </computeroutput>
+  becomes
+  <computeroutput>filename</computeroutput></para></listitem>
+
+ <listitem><para><computeroutput>filename.tbz2</computeroutput>
+  becomes
+  <computeroutput>filename.tar</computeroutput></para></listitem>
+
+ <listitem><para><computeroutput>filename.tbz </computeroutput>
+  becomes
+  <computeroutput>filename.tar</computeroutput></para></listitem>
+
+ <listitem><para><computeroutput>anyothername </computeroutput>
+  becomes
+  <computeroutput>anyothername.out</computeroutput></para></listitem>
+
+</itemizedlist>
+
+<para>If the file does not end in one of the recognised endings,
+<computeroutput>.bz2</computeroutput>,
+<computeroutput>.bz</computeroutput>,
+<computeroutput>.tbz2</computeroutput> or
+<computeroutput>.tbz</computeroutput>,
+<computeroutput>bzip2</computeroutput> complains that it cannot
+guess the name of the original file, and uses the original name
+with <computeroutput>.out</computeroutput> appended.</para>
+
+<para>As with compression, supplying no filenames causes
+decompression from standard input to standard output.</para>
+
+<para><computeroutput>bunzip2</computeroutput> will correctly
+decompress a file which is the concatenation of two or more
+compressed files.  The result is the concatenation of the
+corresponding uncompressed files.  Integrity testing
+(<computeroutput>-t</computeroutput>) of concatenated compressed
+files is also supported.</para>
+
+<para>You can also compress or decompress files to the standard
+output by giving the <computeroutput>-c</computeroutput> flag.
+Multiple files may be compressed and decompressed like this.  The
+resulting outputs are fed sequentially to stdout.  Compression of
+multiple files in this manner generates a stream containing
+multiple compressed file representations.  Such a stream can be
+decompressed correctly only by
+<computeroutput>bzip2</computeroutput> version 0.9.0 or later.
+Earlier versions of <computeroutput>bzip2</computeroutput> will
+stop after decompressing the first file in the stream.</para>
+
+<para><computeroutput>bzcat</computeroutput> (or
+<computeroutput>bzip2 -dc</computeroutput>) decompresses all
+specified files to the standard output.</para>
+
+<para><computeroutput>bzip2</computeroutput> will read arguments
+from the environment variables
+<computeroutput>BZIP2</computeroutput> and
+<computeroutput>BZIP</computeroutput>, in that order, and will
+process them before any arguments read from the command line.
+This gives a convenient way to supply default arguments.</para>
+
+<para>Compression is always performed, even if the compressed
+file is slightly larger than the original.  Files of less than
+about one hundred bytes tend to get larger, since the compression
+mechanism has a constant overhead in the region of 50 bytes.
+Random data (including the output of most file compressors) is
+coded at about 8.05 bits per byte, giving an expansion of around
+0.5%.</para>
+
+<para>As a self-check for your protection,
+<computeroutput>bzip2</computeroutput> uses 32-bit CRCs to make
+sure that the decompressed version of a file is identical to the
+original.  This guards against corruption of the compressed data,
+and against undetected bugs in
+<computeroutput>bzip2</computeroutput> (hopefully very unlikely).
+The chances of data corruption going undetected is microscopic,
+about one chance in four billion for each file processed.  Be
+aware, though, that the check occurs upon decompression, so it
+can only tell you that something is wrong.  It can't help you
+recover the original uncompressed data.  You can use
+<computeroutput>bzip2recover</computeroutput> to try to recover
+data from damaged files.</para>
+
+<para>Return values: 0 for a normal exit, 1 for environmental
+problems (file not found, invalid flags, I/O errors, etc.), 2
+to indicate a corrupt compressed file, 3 for an internal
+consistency error (eg, bug) which caused
+<computeroutput>bzip2</computeroutput> to panic.</para>
+
+</sect1>
+
+
+<sect1 id="options" xreflabel="OPTIONS">
+<title>OPTIONS</title>
+
+<variablelist>
+
+ <varlistentry>
+ <term><computeroutput>-c --stdout</computeroutput></term>
+ <listitem><para>Compress or decompress to standard
+  output.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-d --decompress</computeroutput></term>
+ <listitem><para>Force decompression.
+  <computeroutput>bzip2</computeroutput>,
+  <computeroutput>bunzip2</computeroutput> and
+  <computeroutput>bzcat</computeroutput> are really the same
+  program, and the decision about what actions to take is done on
+  the basis of which name is used.  This flag overrides that
+  mechanism, and forces bzip2 to decompress.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-z --compress</computeroutput></term>
+ <listitem><para>The complement to
+  <computeroutput>-d</computeroutput>: forces compression,
+  regardless of the invokation name.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-t --test</computeroutput></term>
+ <listitem><para>Check integrity of the specified file(s), but
+  don't decompress them.  This really performs a trial
+  decompression and throws away the result.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-f --force</computeroutput></term>
+ <listitem><para>Force overwrite of output files.  Normally,
+  <computeroutput>bzip2</computeroutput> will not overwrite
+  existing output files.  Also forces
+  <computeroutput>bzip2</computeroutput> to break hard links to
+  files, which it otherwise wouldn't do.</para>
+  <para><computeroutput>bzip2</computeroutput> normally declines
+  to decompress files which don't have the correct magic header
+  bytes. If forced (<computeroutput>-f</computeroutput>),
+  however, it will pass such files through unmodified. This is
+  how GNU <computeroutput>gzip</computeroutput> behaves.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-k --keep</computeroutput></term>
+ <listitem><para>Keep (don't delete) input files during
+  compression or decompression.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-s --small</computeroutput></term>
+ <listitem><para>Reduce memory usage, for compression,
+  decompression and testing.  Files are decompressed and tested
+  using a modified algorithm which only requires 2.5 bytes per
+  block byte.  This means any file can be decompressed in 2300k
+  of memory, albeit at about half the normal speed.</para>
+  <para>During compression, <computeroutput>-s</computeroutput>
+  selects a block size of 200k, which limits memory use to around
+  the same figure, at the expense of your compression ratio.  In
+  short, if your machine is low on memory (8 megabytes or less),
+  use <computeroutput>-s</computeroutput> for everything.  See
+  <xref linkend="memory-management"/> below.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-q --quiet</computeroutput></term>
+ <listitem><para>Suppress non-essential warning messages.
+  Messages pertaining to I/O errors and other critical events
+  will not be suppressed.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-v --verbose</computeroutput></term>
+ <listitem><para>Verbose mode -- show the compression ratio for
+  each file processed.  Further
+  <computeroutput>-v</computeroutput>'s increase the verbosity
+  level, spewing out lots of information which is primarily of
+  interest for diagnostic purposes.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-L --license -V --version</computeroutput></term>
+ <listitem><para>Display the software version, license terms and
+  conditions.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>-1</computeroutput> (or
+ <computeroutput>--fast</computeroutput>) to
+ <computeroutput>-9</computeroutput> (or
+ <computeroutput>-best</computeroutput>)</term>
+ <listitem><para>Set the block size to 100 k, 200 k ...  900 k
+  when compressing.  Has no effect when decompressing.  See <xref
+  linkend="memory-management" /> below.  The
+  <computeroutput>--fast</computeroutput> and
+  <computeroutput>--best</computeroutput> aliases are primarily
+  for GNU <computeroutput>gzip</computeroutput> compatibility.
+  In particular, <computeroutput>--fast</computeroutput> doesn't
+  make things significantly faster.  And
+  <computeroutput>--best</computeroutput> merely selects the
+  default behaviour.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>--</computeroutput></term>
+ <listitem><para>Treats all subsequent arguments as file names,
+  even if they start with a dash.  This is so you can handle
+  files with names beginning with a dash, for example:
+  <computeroutput>bzip2 --
+  -myfilename</computeroutput>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><computeroutput>--repetitive-fast</computeroutput></term>
+ <term><computeroutput>--repetitive-best</computeroutput></term>
+ <listitem><para>These flags are redundant in versions 0.9.5 and
+  above.  They provided some coarse control over the behaviour of
+  the sorting algorithm in earlier versions, which was sometimes
+  useful.  0.9.5 and above have an improved algorithm which
+  renders these flags irrelevant.</para></listitem>
+ </varlistentry>
+
+</variablelist>
+
+</sect1>
+
+
+<sect1 id="memory-management" xreflabel="MEMORY MANAGEMENT">
+<title>MEMORY MANAGEMENT</title>
+
+<para><computeroutput>bzip2</computeroutput> compresses large
+files in blocks.  The block size affects both the compression
+ratio achieved, and the amount of memory needed for compression
+and decompression.  The flags <computeroutput>-1</computeroutput>
+through <computeroutput>-9</computeroutput> specify the block
+size to be 100,000 bytes through 900,000 bytes (the default)
+respectively.  At decompression time, the block size used for
+compression is read from the header of the compressed file, and
+<computeroutput>bunzip2</computeroutput> then allocates itself
+just enough memory to decompress the file.  Since block sizes are
+stored in compressed files, it follows that the flags
+<computeroutput>-1</computeroutput> to
+<computeroutput>-9</computeroutput> are irrelevant to and so
+ignored during decompression.</para>
+
+<para>Compression and decompression requirements, in bytes, can be
+estimated as:</para>
+<programlisting>
+Compression:   400k + ( 8 x block size )
+
+Decompression: 100k + ( 4 x block size ), or
+               100k + ( 2.5 x block size )
+</programlisting>
+
+<para>Larger block sizes give rapidly diminishing marginal
+returns.  Most of the compression comes from the first two or
+three hundred k of block size, a fact worth bearing in mind when
+using <computeroutput>bzip2</computeroutput> on small machines.
+It is also important to appreciate that the decompression memory
+requirement is set at compression time by the choice of block
+size.</para>
+
+<para>For files compressed with the default 900k block size,
+<computeroutput>bunzip2</computeroutput> will require about 3700
+kbytes to decompress.  To support decompression of any file on a
+4 megabyte machine, <computeroutput>bunzip2</computeroutput> has
+an option to decompress using approximately half this amount of
+memory, about 2300 kbytes.  Decompression speed is also halved,
+so you should use this option only where necessary.  The relevant
+flag is <computeroutput>-s</computeroutput>.</para>
+
+<para>In general, try and use the largest block size memory
+constraints allow, since that maximises the compression achieved.
+Compression and decompression speed are virtually unaffected by
+block size.</para>
+
+<para>Another significant point applies to files which fit in a
+single block -- that means most files you'd encounter using a
+large block size.  The amount of real memory touched is
+proportional to the size of the file, since the file is smaller
+than a block.  For example, compressing a file 20,000 bytes long
+with the flag <computeroutput>-9</computeroutput> will cause the
+compressor to allocate around 7600k of memory, but only touch
+400k + 20000 * 8 = 560 kbytes of it.  Similarly, the decompressor
+will allocate 3700k but only touch 100k + 20000 * 4 = 180
+kbytes.</para>
+
+<para>Here is a table which summarises the maximum memory usage
+for different block sizes.  Also recorded is the total compressed
+size for 14 files of the Calgary Text Compression Corpus
+totalling 3,141,622 bytes.  This column gives some feel for how
+compression varies with block size.  These figures tend to
+understate the advantage of larger block sizes for larger files,
+since the Corpus is dominated by smaller files.</para>
+
+<programlisting>
+        Compress   Decompress   Decompress   Corpus
+Flag     usage      usage       -s usage     Size
+
+ -1      1200k       500k         350k      914704
+ -2      2000k       900k         600k      877703
+ -3      2800k      1300k         850k      860338
+ -4      3600k      1700k        1100k      846899
+ -5      4400k      2100k        1350k      845160
+ -6      5200k      2500k        1600k      838626
+ -7      6100k      2900k        1850k      834096
+ -8      6800k      3300k        2100k      828642
+ -9      7600k      3700k        2350k      828642
+</programlisting>
+
+</sect1>
+
+
+<sect1 id="recovering" xreflabel="RECOVERING DATA FROM DAMAGED FILES">
+<title>RECOVERING DATA FROM DAMAGED FILES</title>
+
+<para><computeroutput>bzip2</computeroutput> compresses files in
+blocks, usually 900kbytes long.  Each block is handled
+independently.  If a media or transmission error causes a
+multi-block <computeroutput>.bz2</computeroutput> file to become
+damaged, it may be possible to recover data from the undamaged
+blocks in the file.</para>
+
+<para>The compressed representation of each block is delimited by
+a 48-bit pattern, which makes it possible to find the block
+boundaries with reasonable certainty.  Each block also carries
+its own 32-bit CRC, so damaged blocks can be distinguished from
+undamaged ones.</para>
+
+<para><computeroutput>bzip2recover</computeroutput> is a simple
+program whose purpose is to search for blocks in
+<computeroutput>.bz2</computeroutput> files, and write each block
+out into its own <computeroutput>.bz2</computeroutput> file.  You
+can then use <computeroutput>bzip2 -t</computeroutput> to test
+the integrity of the resulting files, and decompress those which
+are undamaged.</para>
+
+<para><computeroutput>bzip2recover</computeroutput> takes a
+single argument, the name of the damaged file, and writes a
+number of files <computeroutput>rec0001file.bz2</computeroutput>,
+<computeroutput>rec0002file.bz2</computeroutput>, etc, containing
+the extracted blocks.  The output filenames are designed so that
+the use of wildcards in subsequent processing -- for example,
+<computeroutput>bzip2 -dc rec*file.bz2 &#62;
+recovered_data</computeroutput> -- lists the files in the correct
+order.</para>
+
+<para><computeroutput>bzip2recover</computeroutput> should be of
+most use dealing with large <computeroutput>.bz2</computeroutput>
+files, as these will contain many blocks.  It is clearly futile
+to use it on damaged single-block files, since a damaged block
+cannot be recovered.  If you wish to minimise any potential data
+loss through media or transmission errors, you might consider
+compressing with a smaller block size.</para>
+
+</sect1>
+
+
+<sect1 id="performance" xreflabel="PERFORMANCE NOTES">
+<title>PERFORMANCE NOTES</title>
+
+<para>The sorting phase of compression gathers together similar
+strings in the file.  Because of this, files containing very long
+runs of repeated symbols, like "aabaabaabaab ..."  (repeated
+several hundred times) may compress more slowly than normal.
+Versions 0.9.5 and above fare much better than previous versions
+in this respect.  The ratio between worst-case and average-case
+compression time is in the region of 10:1.  For previous
+versions, this figure was more like 100:1.  You can use the
+<computeroutput>-vvvv</computeroutput> option to monitor progress
+in great detail, if you want.</para>
+
+<para>Decompression speed is unaffected by these
+phenomena.</para>
+
+<para><computeroutput>bzip2</computeroutput> usually allocates
+several megabytes of memory to operate in, and then charges all
+over it in a fairly random fashion.  This means that performance,
+both for compressing and decompressing, is largely determined by
+the speed at which your machine can service cache misses.
+Because of this, small changes to the code to reduce the miss
+rate have been observed to give disproportionately large
+performance improvements.  I imagine
+<computeroutput>bzip2</computeroutput> will perform best on
+machines with very large caches.</para>
+
+</sect1>
+
+
+
+<sect1 id="caveats" xreflabel="CAVEATS">
+<title>CAVEATS</title>
+
+<para>I/O error messages are not as helpful as they could be.
+<computeroutput>bzip2</computeroutput> tries hard to detect I/O
+errors and exit cleanly, but the details of what the problem is
+sometimes seem rather misleading.</para>
+
+<para>This manual page pertains to version &bz-version; of
+<computeroutput>bzip2</computeroutput>.  Compressed data created
+by this version is entirely forwards and backwards compatible
+with the previous public releases, versions 0.1pl2, 0.9.0 and
+0.9.5, 1.0.0, 1.0.1 and 1.0.2, but with the following exception: 0.9.0
+and above can correctly decompress multiple concatenated
+compressed files.  0.1pl2 cannot do this; it will stop after
+decompressing just the first file in the stream.</para>
+
+<para><computeroutput>bzip2recover</computeroutput> versions
+prior to 1.0.2 used 32-bit integers to represent bit positions in
+compressed files, so it could not handle compressed files more
+than 512 megabytes long.  Versions 1.0.2 and above use 64-bit ints
+on some platforms which support them (GNU supported targets, and
+Windows). To establish whether or not
+<computeroutput>bzip2recover</computeroutput> was built with such
+a limitation, run it without arguments. In any event you can
+build yourself an unlimited version if you can recompile it with
+<computeroutput>MaybeUInt64</computeroutput> set to be an
+unsigned 64-bit integer.</para>
+
+</sect1>
+
+
+
+<sect1 id="author" xreflabel="AUTHOR">
+<title>AUTHOR</title>
+
+<para>Julian Seward,
+<computeroutput>&bz-email;</computeroutput></para>
+
+<para>The ideas embodied in
+<computeroutput>bzip2</computeroutput> are due to (at least) the
+following people: Michael Burrows and David Wheeler (for the
+block sorting transformation), David Wheeler (again, for the
+Huffman coder), Peter Fenwick (for the structured coding model in
+the original <computeroutput>bzip</computeroutput>, and many
+refinements), and Alistair Moffat, Radford Neal and Ian Witten
+(for the arithmetic coder in the original
+<computeroutput>bzip</computeroutput>).  I am much indebted for
+their help, support and advice.  See the manual in the source
+distribution for pointers to sources of documentation.  Christian
+von Roques encouraged me to look for faster sorting algorithms,
+so as to speed up compression.  Bela Lubkin encouraged me to
+improve the worst-case compression performance.  
+Donna Robinson XMLised the documentation.
+Many people sent
+patches, helped with portability problems, lent machines, gave
+advice and were generally helpful.</para>
+
+</sect1>
+
+</chapter>
+
+
+
+<chapter id="libprog" xreflabel="Programming with libbzip2">
+<title>
+Programming with <computeroutput>libbzip2</computeroutput>
+</title>
+
+<para>This chapter describes the programming interface to
+<computeroutput>libbzip2</computeroutput>.</para>
+
+<para>For general background information, particularly about
+memory use and performance aspects, you'd be well advised to read
+<xref linkend="using"/> as well.</para>
+
+
+<sect1 id="top-level" xreflabel="Top-level structure">
+<title>Top-level structure</title>
+
+<para><computeroutput>libbzip2</computeroutput> is a flexible
+library for compressing and decompressing data in the
+<computeroutput>bzip2</computeroutput> data format.  Although
+packaged as a single entity, it helps to regard the library as
+three separate parts: the low level interface, and the high level
+interface, and some utility functions.</para>
+
+<para>The structure of
+<computeroutput>libbzip2</computeroutput>'s interfaces is similar
+to that of Jean-loup Gailly's and Mark Adler's excellent
+<computeroutput>zlib</computeroutput> library.</para>
+
+<para>All externally visible symbols have names beginning
+<computeroutput>BZ2_</computeroutput>.  This is new in version
+1.0.  The intention is to minimise pollution of the namespaces of
+library clients.</para>
+
+<para>To use any part of the library, you need to
+<computeroutput>#include &lt;bzlib.h&gt;</computeroutput>
+into your sources.</para>
+
+
+
+<sect2 id="ll-summary" xreflabel="Low-level summary">
+<title>Low-level summary</title>
+
+<para>This interface provides services for compressing and
+decompressing data in memory.  There's no provision for dealing
+with files, streams or any other I/O mechanisms, just straight
+memory-to-memory work.  In fact, this part of the library can be
+compiled without inclusion of
+<computeroutput>stdio.h</computeroutput>, which may be helpful
+for embedded applications.</para>
+
+<para>The low-level part of the library has no global variables
+and is therefore thread-safe.</para>
+
+<para>Six routines make up the low level interface:
+<computeroutput>BZ2_bzCompressInit</computeroutput>,
+<computeroutput>BZ2_bzCompress</computeroutput>, and
+<computeroutput>BZ2_bzCompressEnd</computeroutput> for
+compression, and a corresponding trio
+<computeroutput>BZ2_bzDecompressInit</computeroutput>,
+<computeroutput>BZ2_bzDecompress</computeroutput> and
+<computeroutput>BZ2_bzDecompressEnd</computeroutput> for
+decompression.  The <computeroutput>*Init</computeroutput>
+functions allocate memory for compression/decompression and do
+other initialisations, whilst the
+<computeroutput>*End</computeroutput> functions close down
+operations and release memory.</para>
+
+<para>The real work is done by
+<computeroutput>BZ2_bzCompress</computeroutput> and
+<computeroutput>BZ2_bzDecompress</computeroutput>.  These
+compress and decompress data from a user-supplied input buffer to
+a user-supplied output buffer.  These buffers can be any size;
+arbitrary quantities of data are handled by making repeated calls
+to these functions.  This is a flexible mechanism allowing a
+consumer-pull style of activity, or producer-push, or a mixture
+of both.</para>
+
+</sect2>
+
+
+<sect2 id="hl-summary" xreflabel="High-level summary">
+<title>High-level summary</title>
+
+<para>This interface provides some handy wrappers around the
+low-level interface to facilitate reading and writing
+<computeroutput>bzip2</computeroutput> format files
+(<computeroutput>.bz2</computeroutput> files).  The routines
+provide hooks to facilitate reading files in which the
+<computeroutput>bzip2</computeroutput> data stream is embedded
+within some larger-scale file structure, or where there are
+multiple <computeroutput>bzip2</computeroutput> data streams
+concatenated end-to-end.</para>
+
+<para>For reading files,
+<computeroutput>BZ2_bzReadOpen</computeroutput>,
+<computeroutput>BZ2_bzRead</computeroutput>,
+<computeroutput>BZ2_bzReadClose</computeroutput> and 
+<computeroutput>BZ2_bzReadGetUnused</computeroutput> are
+supplied.  For writing files,
+<computeroutput>BZ2_bzWriteOpen</computeroutput>,
+<computeroutput>BZ2_bzWrite</computeroutput> and
+<computeroutput>BZ2_bzWriteFinish</computeroutput> are
+available.</para>
+
+<para>As with the low-level library, no global variables are used
+so the library is per se thread-safe.  However, if I/O errors
+occur whilst reading or writing the underlying compressed files,
+you may have to consult <computeroutput>errno</computeroutput> to
+determine the cause of the error.  In that case, you'd need a C
+library which correctly supports
+<computeroutput>errno</computeroutput> in a multithreaded
+environment.</para>
+
+<para>To make the library a little simpler and more portable,
+<computeroutput>BZ2_bzReadOpen</computeroutput> and
+<computeroutput>BZ2_bzWriteOpen</computeroutput> require you to
+pass them file handles (<computeroutput>FILE*</computeroutput>s)
+which have previously been opened for reading or writing
+respectively.  That avoids portability problems associated with
+file operations and file attributes, whilst not being much of an
+imposition on the programmer.</para>
+
+</sect2>
+
+
+<sect2 id="util-fns-summary" xreflabel="Utility functions summary">
+<title>Utility functions summary</title>
+
+<para>For very simple needs,
+<computeroutput>BZ2_bzBuffToBuffCompress</computeroutput> and
+<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> are
+provided.  These compress data in memory from one buffer to
+another buffer in a single function call.  You should assess
+whether these functions fulfill your memory-to-memory
+compression/decompression requirements before investing effort in
+understanding the more general but more complex low-level
+interface.</para>
+
+<para>Yoshioka Tsuneo
+(<computeroutput>QWF00133@niftyserve.or.jp</computeroutput> /
+<computeroutput>tsuneo-y@is.aist-nara.ac.jp</computeroutput>) has
+contributed some functions to give better
+<computeroutput>zlib</computeroutput> compatibility.  These
+functions are <computeroutput>BZ2_bzopen</computeroutput>,
+<computeroutput>BZ2_bzread</computeroutput>,
+<computeroutput>BZ2_bzwrite</computeroutput>,
+<computeroutput>BZ2_bzflush</computeroutput>,
+<computeroutput>BZ2_bzclose</computeroutput>,
+<computeroutput>BZ2_bzerror</computeroutput> and
+<computeroutput>BZ2_bzlibVersion</computeroutput>.  You may find
+these functions more convenient for simple file reading and
+writing, than those in the high-level interface.  These functions
+are not (yet) officially part of the library, and are minimally
+documented here.  If they break, you get to keep all the pieces.
+I hope to document them properly when time permits.</para>
+
+<para>Yoshioka also contributed modifications to allow the
+library to be built as a Windows DLL.</para>
+
+</sect2>
+
+</sect1>
+
+
+<sect1 id="err-handling" xreflabel="Error handling">
+<title>Error handling</title>
+
+<para>The library is designed to recover cleanly in all
+situations, including the worst-case situation of decompressing
+random data.  I'm not 100% sure that it can always do this, so
+you might want to add a signal handler to catch segmentation
+violations during decompression if you are feeling especially
+paranoid.  I would be interested in hearing more about the
+robustness of the library to corrupted compressed data.</para>
+
+<para>Version 1.0.3 more robust in this respect than any
+previous version.  Investigations with Valgrind (a tool for detecting
+problems with memory management) indicate
+that, at least for the few files I tested, all single-bit errors
+in the decompressed data are caught properly, with no
+segmentation faults, no uses of uninitialised data, no out of
+range reads or writes, and no infinite looping in the decompressor.
+So it's certainly pretty robust, although
+I wouldn't claim it to be totally bombproof.</para>
+
+<para>The file <computeroutput>bzlib.h</computeroutput> contains
+all definitions needed to use the library.  In particular, you
+should definitely not include
+<computeroutput>bzlib_private.h</computeroutput>.</para>
+
+<para>In <computeroutput>bzlib.h</computeroutput>, the various
+return values are defined.  The following list is not intended as
+an exhaustive description of the circumstances in which a given
+value may be returned -- those descriptions are given later.
+Rather, it is intended to convey the rough meaning of each return
+value.  The first five actions are normal and not intended to
+denote an error situation.</para>
+
+<variablelist>
+
+ <varlistentry>
+  <term><computeroutput>BZ_OK</computeroutput></term>
+  <listitem><para>The requested action was completed
+   successfully.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_RUN_OK, BZ_FLUSH_OK,
+    BZ_FINISH_OK</computeroutput></term>
+  <listitem><para>In 
+   <computeroutput>BZ2_bzCompress</computeroutput>, the requested
+   flush/finish/nothing-special action was completed
+   successfully.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_STREAM_END</computeroutput></term>
+  <listitem><para>Compression of data was completed, or the
+   logical stream end was detected during
+   decompression.</para></listitem>
+ </varlistentry>
+
+</variablelist>
+
+<para>The following return values indicate an error of some
+kind.</para>
+
+<variablelist>
+
+ <varlistentry>
+  <term><computeroutput>BZ_CONFIG_ERROR</computeroutput></term>
+  <listitem><para>Indicates that the library has been improperly
+   compiled on your platform -- a major configuration error.
+   Specifically, it means that
+   <computeroutput>sizeof(char)</computeroutput>,
+   <computeroutput>sizeof(short)</computeroutput> and
+   <computeroutput>sizeof(int)</computeroutput> are not 1, 2 and
+   4 respectively, as they should be.  Note that the library
+   should still work properly on 64-bit platforms which follow
+   the LP64 programming model -- that is, where
+   <computeroutput>sizeof(long)</computeroutput> and
+   <computeroutput>sizeof(void*)</computeroutput> are 8.  Under
+   LP64, <computeroutput>sizeof(int)</computeroutput> is still 4,
+   so <computeroutput>libbzip2</computeroutput>, which doesn't
+   use the <computeroutput>long</computeroutput> type, is
+   OK.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_SEQUENCE_ERROR</computeroutput></term>
+  <listitem><para>When using the library, it is important to call
+   the functions in the correct sequence and with data structures
+   (buffers etc) in the correct states.
+   <computeroutput>libbzip2</computeroutput> checks as much as it
+   can to ensure this is happening, and returns
+   <computeroutput>BZ_SEQUENCE_ERROR</computeroutput> if not.
+   Code which complies precisely with the function semantics, as
+   detailed below, should never receive this value; such an event
+   denotes buggy code which you should
+   investigate.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_PARAM_ERROR</computeroutput></term>
+  <listitem><para>Returned when a parameter to a function call is
+   out of range or otherwise manifestly incorrect.  As with
+   <computeroutput>BZ_SEQUENCE_ERROR</computeroutput>, this
+   denotes a bug in the client code.  The distinction between
+   <computeroutput>BZ_PARAM_ERROR</computeroutput> and
+   <computeroutput>BZ_SEQUENCE_ERROR</computeroutput> is a bit
+   hazy, but still worth making.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_MEM_ERROR</computeroutput></term>
+  <listitem><para>Returned when a request to allocate memory
+   failed.  Note that the quantity of memory needed to decompress
+   a stream cannot be determined until the stream's header has
+   been read.  So
+   <computeroutput>BZ2_bzDecompress</computeroutput> and
+   <computeroutput>BZ2_bzRead</computeroutput> may return
+   <computeroutput>BZ_MEM_ERROR</computeroutput> even though some
+   of the compressed data has been read.  The same is not true
+   for compression; once
+   <computeroutput>BZ2_bzCompressInit</computeroutput> or
+   <computeroutput>BZ2_bzWriteOpen</computeroutput> have
+   successfully completed,
+   <computeroutput>BZ_MEM_ERROR</computeroutput> cannot
+   occur.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_DATA_ERROR</computeroutput></term>
+  <listitem><para>Returned when a data integrity error is
+   detected during decompression.  Most importantly, this means
+   when stored and computed CRCs for the data do not match.  This
+   value is also returned upon detection of any other anomaly in
+   the compressed data.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_DATA_ERROR_MAGIC</computeroutput></term>
+  <listitem><para>As a special case of
+   <computeroutput>BZ_DATA_ERROR</computeroutput>, it is
+   sometimes useful to know when the compressed stream does not
+   start with the correct magic bytes (<computeroutput>'B' 'Z'
+   'h'</computeroutput>).</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_IO_ERROR</computeroutput></term>
+  <listitem><para>Returned by
+   <computeroutput>BZ2_bzRead</computeroutput> and
+   <computeroutput>BZ2_bzWrite</computeroutput> when there is an
+   error reading or writing in the compressed file, and by
+   <computeroutput>BZ2_bzReadOpen</computeroutput> and
+   <computeroutput>BZ2_bzWriteOpen</computeroutput> for attempts
+   to use a file for which the error indicator (viz,
+   <computeroutput>ferror(f)</computeroutput>) is set.  On
+   receipt of <computeroutput>BZ_IO_ERROR</computeroutput>, the
+   caller should consult <computeroutput>errno</computeroutput>
+   and/or <computeroutput>perror</computeroutput> to acquire
+   operating-system specific information about the
+   problem.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_UNEXPECTED_EOF</computeroutput></term>
+  <listitem><para>Returned by
+   <computeroutput>BZ2_bzRead</computeroutput> when the
+   compressed file finishes before the logical end of stream is
+   detected.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term><computeroutput>BZ_OUTBUFF_FULL</computeroutput></term>
+  <listitem><para>Returned by
+   <computeroutput>BZ2_bzBuffToBuffCompress</computeroutput> and
+   <computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> to
+   indicate that the output data will not fit into the output
+   buffer provided.</para></listitem>
+ </varlistentry>
+
+</variablelist>
+
+</sect1>
+
+
+
+<sect1 id="low-level" xreflabel=">Low-level interface">
+<title>Low-level interface</title>
+
+
+<sect2 id="bzcompress-init" xreflabel="BZ2_bzCompressInit">
+<title><computeroutput>BZ2_bzCompressInit</computeroutput></title>
+
+<programlisting>
+typedef struct {
+  char *next_in;
+  unsigned int avail_in;
+  unsigned int total_in_lo32;
+  unsigned int total_in_hi32;
+
+  char *next_out;
+  unsigned int avail_out;
+  unsigned int total_out_lo32;
+  unsigned int total_out_hi32;
+
+  void *state;
+
+  void *(*bzalloc)(void *,int,int);
+  void (*bzfree)(void *,void *);
+  void *opaque;
+} bz_stream;
+
+int BZ2_bzCompressInit ( bz_stream *strm, 
+                         int blockSize100k, 
+                         int verbosity,
+                         int workFactor );
+</programlisting>
+
+<para>Prepares for compression.  The
+<computeroutput>bz_stream</computeroutput> structure holds all
+data pertaining to the compression activity.  A
+<computeroutput>bz_stream</computeroutput> structure should be
+allocated and initialised prior to the call.  The fields of
+<computeroutput>bz_stream</computeroutput> comprise the entirety
+of the user-visible data.  <computeroutput>state</computeroutput>
+is a pointer to the private data structures required for
+compression.</para>
+
+<para>Custom memory allocators are supported, via fields
+<computeroutput>bzalloc</computeroutput>,
+<computeroutput>bzfree</computeroutput>, and
+<computeroutput>opaque</computeroutput>.  The value
+<computeroutput>opaque</computeroutput> is passed to as the first
+argument to all calls to <computeroutput>bzalloc</computeroutput>
+and <computeroutput>bzfree</computeroutput>, but is otherwise
+ignored by the library.  The call <computeroutput>bzalloc (
+opaque, n, m )</computeroutput> is expected to return a pointer
+<computeroutput>p</computeroutput> to <computeroutput>n *
+m</computeroutput> bytes of memory, and <computeroutput>bzfree (
+opaque, p )</computeroutput> should free that memory.</para>
+
+<para>If you don't want to use a custom memory allocator, set
+<computeroutput>bzalloc</computeroutput>,
+<computeroutput>bzfree</computeroutput> and
+<computeroutput>opaque</computeroutput> to
+<computeroutput>NULL</computeroutput>, and the library will then
+use the standard <computeroutput>malloc</computeroutput> /
+<computeroutput>free</computeroutput> routines.</para>
+
+<para>Before calling
+<computeroutput>BZ2_bzCompressInit</computeroutput>, fields
+<computeroutput>bzalloc</computeroutput>,
+<computeroutput>bzfree</computeroutput> and
+<computeroutput>opaque</computeroutput> should be filled
+appropriately, as just described.  Upon return, the internal
+state will have been allocated and initialised, and
+<computeroutput>total_in_lo32</computeroutput>,
+<computeroutput>total_in_hi32</computeroutput>,
+<computeroutput>total_out_lo32</computeroutput> and
+<computeroutput>total_out_hi32</computeroutput> will have been
+set to zero.  These four fields are used by the library to inform
+the caller of the total amount of data passed into and out of the
+library, respectively.  You should not try to change them.  As of
+version 1.0, 64-bit counts are maintained, even on 32-bit
+platforms, using the <computeroutput>_hi32</computeroutput>
+fields to store the upper 32 bits of the count.  So, for example,
+the total amount of data in is <computeroutput>(total_in_hi32
+&#60;&#60; 32) + total_in_lo32</computeroutput>.</para>
+
+<para>Parameter <computeroutput>blockSize100k</computeroutput>
+specifies the block size to be used for compression.  It should
+be a value between 1 and 9 inclusive, and the actual block size
+used is 100000 x this figure.  9 gives the best compression but
+takes most memory.</para>
+
+<para>Parameter <computeroutput>verbosity</computeroutput> should
+be set to a number between 0 and 4 inclusive.  0 is silent, and
+greater numbers give increasingly verbose monitoring/debugging
+output.  If the library has been compiled with
+<computeroutput>-DBZ_NO_STDIO</computeroutput>, no such output
+will appear for any verbosity setting.</para>
+
+<para>Parameter <computeroutput>workFactor</computeroutput>
+controls how the compression phase behaves when presented with
+worst case, highly repetitive, input data.  If compression runs
+into difficulties caused by repetitive data, the library switches
+from the standard sorting algorithm to a fallback algorithm.  The
+fallback is slower than the standard algorithm by perhaps a
+factor of three, but always behaves reasonably, no matter how bad
+the input.</para>
+
+<para>Lower values of <computeroutput>workFactor</computeroutput>
+reduce the amount of effort the standard algorithm will expend
+before resorting to the fallback.  You should set this parameter
+carefully; too low, and many inputs will be handled by the
+fallback algorithm and so compress rather slowly, too high, and
+your average-to-worst case compression times can become very
+large.  The default value of 30 gives reasonable behaviour over a
+wide range of circumstances.</para>
+
+<para>Allowable values range from 0 to 250 inclusive.  0 is a
+special case, equivalent to using the default value of 30.</para>
+
+<para>Note that the compressed output generated is the same
+regardless of whether or not the fallback algorithm is
+used.</para>
+
+<para>Be aware also that this parameter may disappear entirely in
+future versions of the library.  In principle it should be
+possible to devise a good way to automatically choose which
+algorithm to use.  Such a mechanism would render the parameter
+obsolete.</para>
+
+<para>Possible return values:</para>
+
+<programlisting>
+BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if strm is NULL 
+  or blockSize < 1 or blockSize > 9
+  or verbosity < 0 or verbosity > 4
+  or workFactor < 0 or workFactor > 250
+BZ_MEM_ERROR 
+  if not enough memory is available
+BZ_OK 
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+BZ2_bzCompress
+  if BZ_OK is returned
+  no specific action needed in case of error
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzCompress" xreflabel="BZ2_bzCompress">
+<title><computeroutput>BZ2_bzCompress</computeroutput></title>
+
+<programlisting>
+int BZ2_bzCompress ( bz_stream *strm, int action );
+</programlisting>
+
+<para>Provides more input and/or output buffer space for the
+library.  The caller maintains input and output buffers, and
+calls <computeroutput>BZ2_bzCompress</computeroutput> to transfer
+data between them.</para>
+
+<para>Before each call to
+<computeroutput>BZ2_bzCompress</computeroutput>,
+<computeroutput>next_in</computeroutput> should point at the data
+to be compressed, and <computeroutput>avail_in</computeroutput>
+should indicate how many bytes the library may read.
+<computeroutput>BZ2_bzCompress</computeroutput> updates
+<computeroutput>next_in</computeroutput>,
+<computeroutput>avail_in</computeroutput> and
+<computeroutput>total_in</computeroutput> to reflect the number
+of bytes it has read.</para>
+
+<para>Similarly, <computeroutput>next_out</computeroutput> should
+point to a buffer in which the compressed data is to be placed,
+with <computeroutput>avail_out</computeroutput> indicating how
+much output space is available.
+<computeroutput>BZ2_bzCompress</computeroutput> updates
+<computeroutput>next_out</computeroutput>,
+<computeroutput>avail_out</computeroutput> and
+<computeroutput>total_out</computeroutput> to reflect the number
+of bytes output.</para>
+
+<para>You may provide and remove as little or as much data as you
+like on each call of
+<computeroutput>BZ2_bzCompress</computeroutput>.  In the limit,
+it is acceptable to supply and remove data one byte at a time,
+although this would be terribly inefficient.  You should always
+ensure that at least one byte of output space is available at
+each call.</para>
+
+<para>A second purpose of
+<computeroutput>BZ2_bzCompress</computeroutput> is to request a
+change of mode of the compressed stream.</para>
+
+<para>Conceptually, a compressed stream can be in one of four
+states: IDLE, RUNNING, FLUSHING and FINISHING.  Before
+initialisation
+(<computeroutput>BZ2_bzCompressInit</computeroutput>) and after
+termination (<computeroutput>BZ2_bzCompressEnd</computeroutput>),
+a stream is regarded as IDLE.</para>
+
+<para>Upon initialisation
+(<computeroutput>BZ2_bzCompressInit</computeroutput>), the stream
+is placed in the RUNNING state.  Subsequent calls to
+<computeroutput>BZ2_bzCompress</computeroutput> should pass
+<computeroutput>BZ_RUN</computeroutput> as the requested action;
+other actions are illegal and will result in
+<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>.</para>
+
+<para>At some point, the calling program will have provided all
+the input data it wants to.  It will then want to finish up -- in
+effect, asking the library to process any data it might have
+buffered internally.  In this state,
+<computeroutput>BZ2_bzCompress</computeroutput> will no longer
+attempt to read data from
+<computeroutput>next_in</computeroutput>, but it will want to
+write data to <computeroutput>next_out</computeroutput>.  Because
+the output buffer supplied by the user can be arbitrarily small,
+the finishing-up operation cannot necessarily be done with a
+single call of
+<computeroutput>BZ2_bzCompress</computeroutput>.</para>
+
+<para>Instead, the calling program passes
+<computeroutput>BZ_FINISH</computeroutput> as an action to
+<computeroutput>BZ2_bzCompress</computeroutput>.  This changes
+the stream's state to FINISHING.  Any remaining input (ie,
+<computeroutput>next_in[0 .. avail_in-1]</computeroutput>) is
+compressed and transferred to the output buffer.  To do this,
+<computeroutput>BZ2_bzCompress</computeroutput> must be called
+repeatedly until all the output has been consumed.  At that
+point, <computeroutput>BZ2_bzCompress</computeroutput> returns
+<computeroutput>BZ_STREAM_END</computeroutput>, and the stream's
+state is set back to IDLE.
+<computeroutput>BZ2_bzCompressEnd</computeroutput> should then be
+called.</para>
+
+<para>Just to make sure the calling program does not cheat, the
+library makes a note of <computeroutput>avail_in</computeroutput>
+at the time of the first call to
+<computeroutput>BZ2_bzCompress</computeroutput> which has
+<computeroutput>BZ_FINISH</computeroutput> as an action (ie, at
+the time the program has announced its intention to not supply
+any more input).  By comparing this value with that of
+<computeroutput>avail_in</computeroutput> over subsequent calls
+to <computeroutput>BZ2_bzCompress</computeroutput>, the library
+can detect any attempts to slip in more data to compress.  Any
+calls for which this is detected will return
+<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>.  This
+indicates a programming mistake which should be corrected.</para>
+
+<para>Instead of asking to finish, the calling program may ask
+<computeroutput>BZ2_bzCompress</computeroutput> to take all the
+remaining input, compress it and terminate the current
+(Burrows-Wheeler) compression block.  This could be useful for
+error control purposes.  The mechanism is analogous to that for
+finishing: call <computeroutput>BZ2_bzCompress</computeroutput>
+with an action of <computeroutput>BZ_FLUSH</computeroutput>,
+remove output data, and persist with the
+<computeroutput>BZ_FLUSH</computeroutput> action until the value
+<computeroutput>BZ_RUN</computeroutput> is returned.  As with
+finishing, <computeroutput>BZ2_bzCompress</computeroutput>
+detects any attempt to provide more input data once the flush has
+begun.</para>
+
+<para>Once the flush is complete, the stream returns to the
+normal RUNNING state.</para>
+
+<para>This all sounds pretty complex, but isn't really.  Here's a
+table which shows which actions are allowable in each state, what
+action will be taken, what the next state is, and what the
+non-error return values are.  Note that you can't explicitly ask
+what state the stream is in, but nor do you need to -- it can be
+inferred from the values returned by
+<computeroutput>BZ2_bzCompress</computeroutput>.</para>
+
+<programlisting>
+IDLE/any
+  Illegal.  IDLE state only exists after BZ2_bzCompressEnd or
+  before BZ2_bzCompressInit.
+  Return value = BZ_SEQUENCE_ERROR
+
+RUNNING/BZ_RUN
+  Compress from next_in to next_out as much as possible.
+  Next state = RUNNING
+  Return value = BZ_RUN_OK
+
+RUNNING/BZ_FLUSH
+  Remember current value of next_in. Compress from next_in
+  to next_out as much as possible, but do not accept any more input.
+  Next state = FLUSHING
+  Return value = BZ_FLUSH_OK
+
+RUNNING/BZ_FINISH
+  Remember current value of next_in. Compress from next_in
+  to next_out as much as possible, but do not accept any more input.
+  Next state = FINISHING
+  Return value = BZ_FINISH_OK
+
+FLUSHING/BZ_FLUSH
+  Compress from next_in to next_out as much as possible, 
+  but do not accept any more input.
+  If all the existing input has been used up and all compressed
+  output has been removed
+    Next state = RUNNING; Return value = BZ_RUN_OK
+  else
+    Next state = FLUSHING; Return value = BZ_FLUSH_OK
+
+FLUSHING/other     
+  Illegal.
+  Return value = BZ_SEQUENCE_ERROR
+
+FINISHING/BZ_FINISH
+  Compress from next_in to next_out as much as possible,
+  but to not accept any more input.  
+  If all the existing input has been used up and all compressed
+  output has been removed
+    Next state = IDLE; Return value = BZ_STREAM_END
+  else
+    Next state = FINISHING; Return value = BZ_FINISHING
+
+FINISHING/other
+  Illegal.
+  Return value = BZ_SEQUENCE_ERROR
+</programlisting>
+
+
+<para>That still looks complicated?  Well, fair enough.  The
+usual sequence of calls for compressing a load of data is:</para>
+
+<orderedlist>
+
+ <listitem><para>Get started with
+  <computeroutput>BZ2_bzCompressInit</computeroutput>.</para></listitem>
+
+ <listitem><para>Shovel data in and shlurp out its compressed form
+  using zero or more calls of
+  <computeroutput>BZ2_bzCompress</computeroutput> with action =
+  <computeroutput>BZ_RUN</computeroutput>.</para></listitem>
+
+ <listitem><para>Finish up. Repeatedly call
+  <computeroutput>BZ2_bzCompress</computeroutput> with action =
+  <computeroutput>BZ_FINISH</computeroutput>, copying out the
+  compressed output, until
+  <computeroutput>BZ_STREAM_END</computeroutput> is
+  returned.</para></listitem> <listitem><para>Close up and go home.  Call
+  <computeroutput>BZ2_bzCompressEnd</computeroutput>.</para></listitem>
+
+</orderedlist>
+
+<para>If the data you want to compress fits into your input
+buffer all at once, you can skip the calls of
+<computeroutput>BZ2_bzCompress ( ..., BZ_RUN )</computeroutput>
+and just do the <computeroutput>BZ2_bzCompress ( ..., BZ_FINISH
+)</computeroutput> calls.</para>
+
+<para>All required memory is allocated by
+<computeroutput>BZ2_bzCompressInit</computeroutput>.  The
+compression library can accept any data at all (obviously).  So
+you shouldn't get any error return values from the
+<computeroutput>BZ2_bzCompress</computeroutput> calls.  If you
+do, they will be
+<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>, and indicate
+a bug in your programming.</para>
+
+<para>Trivial other possible return values:</para>
+
+<programlisting>
+BZ_PARAM_ERROR
+  if strm is NULL, or strm->s is NULL
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzCompress-end" xreflabel="BZ2_bzCompressEnd">
+<title><computeroutput>BZ2_bzCompressEnd</computeroutput></title>
+
+<programlisting>
+int BZ2_bzCompressEnd ( bz_stream *strm );
+</programlisting>
+
+<para>Releases all memory associated with a compression
+stream.</para>
+
+<para>Possible return values:</para>
+
+<programlisting>
+BZ_PARAM_ERROR  if strm is NULL or strm->s is NULL
+BZ_OK           otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzDecompress-init" xreflabel="BZ2_bzDecompressInit">
+<title><computeroutput>BZ2_bzDecompressInit</computeroutput></title>
+
+<programlisting>
+int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );
+</programlisting>
+
+<para>Prepares for decompression.  As with
+<computeroutput>BZ2_bzCompressInit</computeroutput>, a
+<computeroutput>bz_stream</computeroutput> record should be
+allocated and initialised before the call.  Fields
+<computeroutput>bzalloc</computeroutput>,
+<computeroutput>bzfree</computeroutput> and
+<computeroutput>opaque</computeroutput> should be set if a custom
+memory allocator is required, or made
+<computeroutput>NULL</computeroutput> for the normal
+<computeroutput>malloc</computeroutput> /
+<computeroutput>free</computeroutput> routines.  Upon return, the
+internal state will have been initialised, and
+<computeroutput>total_in</computeroutput> and
+<computeroutput>total_out</computeroutput> will be zero.</para>
+
+<para>For the meaning of parameter
+<computeroutput>verbosity</computeroutput>, see
+<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
+
+<para>If <computeroutput>small</computeroutput> is nonzero, the
+library will use an alternative decompression algorithm which
+uses less memory but at the cost of decompressing more slowly
+(roughly speaking, half the speed, but the maximum memory
+requirement drops to around 2300k).  See <xref linkend="using"/>
+for more information on memory management.</para>
+
+<para>Note that the amount of memory needed to decompress a
+stream cannot be determined until the stream's header has been
+read, so even if
+<computeroutput>BZ2_bzDecompressInit</computeroutput> succeeds, a
+subsequent <computeroutput>BZ2_bzDecompress</computeroutput>
+could fail with
+<computeroutput>BZ_MEM_ERROR</computeroutput>.</para>
+
+<para>Possible return values:</para>
+
+<programlisting>
+BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if ( small != 0 && small != 1 )
+  or (verbosity <; 0 || verbosity > 4)
+BZ_MEM_ERROR
+  if insufficient memory is available
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+BZ2_bzDecompress
+  if BZ_OK was returned
+  no specific action required in case of error
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzDecompress" xreflabel="BZ2_bzDecompress">
+<title><computeroutput>BZ2_bzDecompress</computeroutput></title>
+
+<programlisting>
+int BZ2_bzDecompress ( bz_stream *strm );
+</programlisting>
+
+<para>Provides more input and/out output buffer space for the
+library.  The caller maintains input and output buffers, and uses
+<computeroutput>BZ2_bzDecompress</computeroutput> to transfer
+data between them.</para>
+
+<para>Before each call to
+<computeroutput>BZ2_bzDecompress</computeroutput>,
+<computeroutput>next_in</computeroutput> should point at the
+compressed data, and <computeroutput>avail_in</computeroutput>
+should indicate how many bytes the library may read.
+<computeroutput>BZ2_bzDecompress</computeroutput> updates
+<computeroutput>next_in</computeroutput>,
+<computeroutput>avail_in</computeroutput> and
+<computeroutput>total_in</computeroutput> to reflect the number
+of bytes it has read.</para>
+
+<para>Similarly, <computeroutput>next_out</computeroutput> should
+point to a buffer in which the uncompressed output is to be
+placed, with <computeroutput>avail_out</computeroutput>
+indicating how much output space is available.
+<computeroutput>BZ2_bzCompress</computeroutput> updates
+<computeroutput>next_out</computeroutput>,
+<computeroutput>avail_out</computeroutput> and
+<computeroutput>total_out</computeroutput> to reflect the number
+of bytes output.</para>
+
+<para>You may provide and remove as little or as much data as you
+like on each call of
+<computeroutput>BZ2_bzDecompress</computeroutput>.  In the limit,
+it is acceptable to supply and remove data one byte at a time,
+although this would be terribly inefficient.  You should always
+ensure that at least one byte of output space is available at
+each call.</para>
+
+<para>Use of <computeroutput>BZ2_bzDecompress</computeroutput> is
+simpler than
+<computeroutput>BZ2_bzCompress</computeroutput>.</para>
+
+<para>You should provide input and remove output as described
+above, and repeatedly call
+<computeroutput>BZ2_bzDecompress</computeroutput> until
+<computeroutput>BZ_STREAM_END</computeroutput> is returned.
+Appearance of <computeroutput>BZ_STREAM_END</computeroutput>
+denotes that <computeroutput>BZ2_bzDecompress</computeroutput>
+has detected the logical end of the compressed stream.
+<computeroutput>BZ2_bzDecompress</computeroutput> will not
+produce <computeroutput>BZ_STREAM_END</computeroutput> until all
+output data has been placed into the output buffer, so once
+<computeroutput>BZ_STREAM_END</computeroutput> appears, you are
+guaranteed to have available all the decompressed output, and
+<computeroutput>BZ2_bzDecompressEnd</computeroutput> can safely
+be called.</para>
+
+<para>If case of an error return value, you should call
+<computeroutput>BZ2_bzDecompressEnd</computeroutput> to clean up
+and release memory.</para>
+
+<para>Possible return values:</para>
+
+<programlisting>
+BZ_PARAM_ERROR
+  if strm is NULL or strm->s is NULL
+  or strm->avail_out < 1
+BZ_DATA_ERROR
+  if a data integrity error is detected in the compressed stream
+BZ_DATA_ERROR_MAGIC
+  if the compressed stream doesn't begin with the right magic bytes
+BZ_MEM_ERROR
+  if there wasn't enough memory available
+BZ_STREAM_END
+  if the logical end of the data stream was detected and all
+  output in has been consumed, eg s-->avail_out > 0
+BZ_OK
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+BZ2_bzDecompress
+  if BZ_OK was returned
+BZ2_bzDecompressEnd
+  otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzDecompress-end" xreflabel="BZ2_bzDecompressEnd">
+<title><computeroutput>BZ2_bzDecompressEnd</computeroutput></title>
+
+<programlisting>
+int BZ2_bzDecompressEnd ( bz_stream *strm );
+</programlisting>
+
+<para>Releases all memory associated with a decompression
+stream.</para>
+
+<para>Possible return values:</para>
+
+<programlisting>
+BZ_PARAM_ERROR
+  if strm is NULL or strm->s is NULL
+BZ_OK
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+  None.
+</programlisting>
+
+</sect2>
+
+</sect1>
+
+
+<sect1 id="hl-interface" xreflabel="High-level interface">
+<title>High-level interface</title>
+
+<para>This interface provides functions for reading and writing
+<computeroutput>bzip2</computeroutput> format files.  First, some
+general points.</para>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para>All of the functions take an
+  <computeroutput>int*</computeroutput> first argument,
+  <computeroutput>bzerror</computeroutput>.  After each call,
+  <computeroutput>bzerror</computeroutput> should be consulted
+  first to determine the outcome of the call.  If
+  <computeroutput>bzerror</computeroutput> is
+  <computeroutput>BZ_OK</computeroutput>, the call completed
+  successfully, and only then should the return value of the
+  function (if any) be consulted.  If
+  <computeroutput>bzerror</computeroutput> is
+  <computeroutput>BZ_IO_ERROR</computeroutput>, there was an
+  error reading/writing the underlying compressed file, and you
+  should then consult <computeroutput>errno</computeroutput> /
+  <computeroutput>perror</computeroutput> to determine the cause
+  of the difficulty.  <computeroutput>bzerror</computeroutput>
+  may also be set to various other values; precise details are
+  given on a per-function basis below.</para></listitem>
+
+ <listitem><para>If <computeroutput>bzerror</computeroutput> indicates
+  an error (ie, anything except
+  <computeroutput>BZ_OK</computeroutput> and
+  <computeroutput>BZ_STREAM_END</computeroutput>), you should
+  immediately call
+  <computeroutput>BZ2_bzReadClose</computeroutput> (or
+  <computeroutput>BZ2_bzWriteClose</computeroutput>, depending on
+  whether you are attempting to read or to write) to free up all
+  resources associated with the stream.  Once an error has been
+  indicated, behaviour of all calls except
+  <computeroutput>BZ2_bzReadClose</computeroutput>
+  (<computeroutput>BZ2_bzWriteClose</computeroutput>) is
+  undefined.  The implication is that (1)
+  <computeroutput>bzerror</computeroutput> should be checked
+  after each call, and (2) if
+  <computeroutput>bzerror</computeroutput> indicates an error,
+  <computeroutput>BZ2_bzReadClose</computeroutput>
+  (<computeroutput>BZ2_bzWriteClose</computeroutput>) should then
+  be called to clean up.</para></listitem>
+
+ <listitem><para>The <computeroutput>FILE*</computeroutput> arguments
+  passed to <computeroutput>BZ2_bzReadOpen</computeroutput> /
+  <computeroutput>BZ2_bzWriteOpen</computeroutput> should be set
+  to binary mode.  Most Unix systems will do this by default, but
+  other platforms, including Windows and Mac, will not.  If you
+  omit this, you may encounter problems when moving code to new
+  platforms.</para></listitem>
+
+ <listitem><para>Memory allocation requests are handled by
+  <computeroutput>malloc</computeroutput> /
+  <computeroutput>free</computeroutput>.  At present there is no
+  facility for user-defined memory allocators in the file I/O
+  functions (could easily be added, though).</para></listitem>
+
+</itemizedlist>
+
+
+
+<sect2 id="bzreadopen" xreflabel="BZ2_bzReadOpen">
+<title><computeroutput>BZ2_bzReadOpen</computeroutput></title>
+
+<programlisting>
+typedef void BZFILE;
+
+BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f, 
+                        int verbosity, int small,
+                        void *unused, int nUnused );
+</programlisting>
+
+<para>Prepare to read compressed data from file handle
+<computeroutput>f</computeroutput>.
+<computeroutput>f</computeroutput> should refer to a file which
+has been opened for reading, and for which the error indicator
+(<computeroutput>ferror(f)</computeroutput>)is not set.  If
+<computeroutput>small</computeroutput> is 1, the library will try
+to decompress using less memory, at the expense of speed.</para>
+
+<para>For reasons explained below,
+<computeroutput>BZ2_bzRead</computeroutput> will decompress the
+<computeroutput>nUnused</computeroutput> bytes starting at
+<computeroutput>unused</computeroutput>, before starting to read
+from the file <computeroutput>f</computeroutput>.  At most
+<computeroutput>BZ_MAX_UNUSED</computeroutput> bytes may be
+supplied like this.  If this facility is not required, you should
+pass <computeroutput>NULL</computeroutput> and
+<computeroutput>0</computeroutput> for
+<computeroutput>unused</computeroutput> and
+n<computeroutput>Unused</computeroutput> respectively.</para>
+
+<para>For the meaning of parameters
+<computeroutput>small</computeroutput> and
+<computeroutput>verbosity</computeroutput>, see
+<computeroutput>BZ2_bzDecompressInit</computeroutput>.</para>
+
+<para>The amount of memory needed to decompress a file cannot be
+determined until the file's header has been read.  So it is
+possible that <computeroutput>BZ2_bzReadOpen</computeroutput>
+returns <computeroutput>BZ_OK</computeroutput> but a subsequent
+call of <computeroutput>BZ2_bzRead</computeroutput> will return
+<computeroutput>BZ_MEM_ERROR</computeroutput>.</para>
+
+<para>Possible assignments to
+<computeroutput>bzerror</computeroutput>:</para>
+
+<programlisting>
+BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if f is NULL
+  or small is neither 0 nor 1
+  or ( unused == NULL && nUnused != 0 )
+  or ( unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED) )
+BZ_IO_ERROR
+  if ferror(f) is nonzero
+BZ_MEM_ERROR
+  if insufficient memory is available
+BZ_OK
+  otherwise.
+</programlisting>
+
+<para>Possible return values:</para>
+
+<programlisting>
+Pointer to an abstract BZFILE
+  if bzerror is BZ_OK
+NULL
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+BZ2_bzRead
+  if bzerror is BZ_OK
+BZ2_bzClose
+  otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzread" xreflabel="BZ2_bzRead">
+<title><computeroutput>BZ2_bzRead</computeroutput></title>
+
+<programlisting>
+int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );
+</programlisting>
+
+<para>Reads up to <computeroutput>len</computeroutput>
+(uncompressed) bytes from the compressed file
+<computeroutput>b</computeroutput> into the buffer
+<computeroutput>buf</computeroutput>.  If the read was
+successful, <computeroutput>bzerror</computeroutput> is set to
+<computeroutput>BZ_OK</computeroutput> and the number of bytes
+read is returned.  If the logical end-of-stream was detected,
+<computeroutput>bzerror</computeroutput> will be set to
+<computeroutput>BZ_STREAM_END</computeroutput>, and the number of
+bytes read is returned.  All other
+<computeroutput>bzerror</computeroutput> values denote an
+error.</para>
+
+<para><computeroutput>BZ2_bzRead</computeroutput> will supply
+<computeroutput>len</computeroutput> bytes, unless the logical
+stream end is detected or an error occurs.  Because of this, it
+is possible to detect the stream end by observing when the number
+of bytes returned is less than the number requested.
+Nevertheless, this is regarded as inadvisable; you should instead
+check <computeroutput>bzerror</computeroutput> after every call
+and watch out for
+<computeroutput>BZ_STREAM_END</computeroutput>.</para>
+
+<para>Internally, <computeroutput>BZ2_bzRead</computeroutput>
+copies data from the compressed file in chunks of size
+<computeroutput>BZ_MAX_UNUSED</computeroutput> bytes before
+decompressing it.  If the file contains more bytes than strictly
+needed to reach the logical end-of-stream,
+<computeroutput>BZ2_bzRead</computeroutput> will almost certainly
+read some of the trailing data before signalling
+<computeroutput>BZ_SEQUENCE_END</computeroutput>.  To collect the
+read but unused data once
+<computeroutput>BZ_SEQUENCE_END</computeroutput> has appeared,
+call <computeroutput>BZ2_bzReadGetUnused</computeroutput>
+immediately before
+<computeroutput>BZ2_bzReadClose</computeroutput>.</para>
+
+<para>Possible assignments to
+<computeroutput>bzerror</computeroutput>:</para>
+
+<programlisting>
+BZ_PARAM_ERROR
+  if b is NULL or buf is NULL or len < 0
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzWriteOpen
+BZ_IO_ERROR
+  if there is an error reading from the compressed file
+BZ_UNEXPECTED_EOF
+  if the compressed file ended before 
+  the logical end-of-stream was detected
+BZ_DATA_ERROR
+  if a data integrity error was detected in the compressed stream
+BZ_DATA_ERROR_MAGIC
+  if the stream does not begin with the requisite header bytes 
+  (ie, is not a bzip2 data file).  This is really 
+  a special case of BZ_DATA_ERROR.
+BZ_MEM_ERROR
+  if insufficient memory was available
+BZ_STREAM_END
+  if the logical end of stream was detected.
+BZ_OK
+  otherwise.
+</programlisting>
+
+<para>Possible return values:</para>
+
+<programlisting>
+number of bytes read
+  if bzerror is BZ_OK or BZ_STREAM_END
+undefined
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
+  if bzerror is BZ_OK
+collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
+  if bzerror is BZ_SEQUENCE_END
+BZ2_bzReadClose
+  otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzreadgetunused" xreflabel="BZ2_bzReadGetUnused">
+<title><computeroutput>BZ2_bzReadGetUnused</computeroutput></title>
+
+<programlisting>
+void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b, 
+                          void** unused, int* nUnused );
+</programlisting>
+
+<para>Returns data which was read from the compressed file but
+was not needed to get to the logical end-of-stream.
+<computeroutput>*unused</computeroutput> is set to the address of
+the data, and <computeroutput>*nUnused</computeroutput> to the
+number of bytes.  <computeroutput>*nUnused</computeroutput> will
+be set to a value between <computeroutput>0</computeroutput> and
+<computeroutput>BZ_MAX_UNUSED</computeroutput> inclusive.</para>
+
+<para>This function may only be called once
+<computeroutput>BZ2_bzRead</computeroutput> has signalled
+<computeroutput>BZ_STREAM_END</computeroutput> but before
+<computeroutput>BZ2_bzReadClose</computeroutput>.</para>
+
+<para>Possible assignments to
+<computeroutput>bzerror</computeroutput>:</para>
+
+<programlisting>
+BZ_PARAM_ERROR
+  if b is NULL
+  or unused is NULL or nUnused is NULL
+BZ_SEQUENCE_ERROR
+  if BZ_STREAM_END has not been signalled
+  or if b was opened with BZ2_bzWriteOpen
+BZ_OK
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+BZ2_bzReadClose
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzreadclose" xreflabel="BZ2_bzReadClose">
+<title><computeroutput>BZ2_bzReadClose</computeroutput></title>
+
+<programlisting>
+void BZ2_bzReadClose ( int *bzerror, BZFILE *b );
+</programlisting>
+
+<para>Releases all memory pertaining to the compressed file
+<computeroutput>b</computeroutput>.
+<computeroutput>BZ2_bzReadClose</computeroutput> does not call
+<computeroutput>fclose</computeroutput> on the underlying file
+handle, so you should do that yourself if appropriate.
+<computeroutput>BZ2_bzReadClose</computeroutput> should be called
+to clean up after all error situations.</para>
+
+<para>Possible assignments to
+<computeroutput>bzerror</computeroutput>:</para>
+
+<programlisting>
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzOpenWrite
+BZ_OK
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+none
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzwriteopen" xreflabel="BZ2_bzWriteOpen">
+<title><computeroutput>BZ2_bzWriteOpen</computeroutput></title>
+
+<programlisting>
+BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f, 
+                         int blockSize100k, int verbosity,
+                         int workFactor );
+</programlisting>
+
+<para>Prepare to write compressed data to file handle
+<computeroutput>f</computeroutput>.
+<computeroutput>f</computeroutput> should refer to a file which
+has been opened for writing, and for which the error indicator
+(<computeroutput>ferror(f)</computeroutput>)is not set.</para>
+
+<para>For the meaning of parameters
+<computeroutput>blockSize100k</computeroutput>,
+<computeroutput>verbosity</computeroutput> and
+<computeroutput>workFactor</computeroutput>, see
+<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
+
+<para>All required memory is allocated at this stage, so if the
+call completes successfully,
+<computeroutput>BZ_MEM_ERROR</computeroutput> cannot be signalled
+by a subsequent call to
+<computeroutput>BZ2_bzWrite</computeroutput>.</para>
+
+<para>Possible assignments to
+<computeroutput>bzerror</computeroutput>:</para>
+
+<programlisting>
+BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if f is NULL
+  or blockSize100k < 1 or blockSize100k > 9
+BZ_IO_ERROR
+  if ferror(f) is nonzero
+BZ_MEM_ERROR
+  if insufficient memory is available
+BZ_OK
+  otherwise
+</programlisting>
+
+<para>Possible return values:</para>
+
+<programlisting>
+Pointer to an abstract BZFILE
+  if bzerror is BZ_OK
+NULL
+  otherwise
+</programlisting>
+
+<para>Allowable next actions:</para>
+
+<programlisting>
+BZ2_bzWrite
+  if bzerror is BZ_OK
+  (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
+BZ2_bzWriteClose
+  otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzwrite" xreflabel="BZ2_bzWrite">
+<title><computeroutput>BZ2_bzWrite</computeroutput></title>
+
+<programlisting>
+void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );
+</programlisting>
+
+<para>Absorbs <computeroutput>len</computeroutput> bytes from the
+buffer <computeroutput>buf</computeroutput>, eventually to be
+compressed and written to the file.</para>
+
+<para>Possible assignments to
+<computeroutput>bzerror</computeroutput>:</para>
+
+<programlisting>
+BZ_PARAM_ERROR
+  if b is NULL or buf is NULL or len < 0
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzReadOpen
+BZ_IO_ERROR
+  if there is an error writing the compressed file.
+BZ_OK
+  otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzwriteclose" xreflabel="BZ2_bzWriteClose">
+<title><computeroutput>BZ2_bzWriteClose</computeroutput></title>
+
+<programlisting>
+void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
+                       int abandon,
+                       unsigned int* nbytes_in,
+                       unsigned int* nbytes_out );
+
+void BZ2_bzWriteClose64( int *bzerror, BZFILE* f,
+                         int abandon,
+                         unsigned int* nbytes_in_lo32,
+                         unsigned int* nbytes_in_hi32,
+                         unsigned int* nbytes_out_lo32,
+                         unsigned int* nbytes_out_hi32 );
+</programlisting>
+
+<para>Compresses and flushes to the compressed file all data so
+far supplied by <computeroutput>BZ2_bzWrite</computeroutput>.
+The logical end-of-stream markers are also written, so subsequent
+calls to <computeroutput>BZ2_bzWrite</computeroutput> are
+illegal.  All memory associated with the compressed file
+<computeroutput>b</computeroutput> is released.
+<computeroutput>fflush</computeroutput> is called on the
+compressed file, but it is not
+<computeroutput>fclose</computeroutput>'d.</para>
+
+<para>If <computeroutput>BZ2_bzWriteClose</computeroutput> is
+called to clean up after an error, the only action is to release
+the memory.  The library records the error codes issued by
+previous calls, so this situation will be detected automatically.
+There is no attempt to complete the compression operation, nor to
+<computeroutput>fflush</computeroutput> the compressed file.  You
+can force this behaviour to happen even in the case of no error,
+by passing a nonzero value to
+<computeroutput>abandon</computeroutput>.</para>
+
+<para>If <computeroutput>nbytes_in</computeroutput> is non-null,
+<computeroutput>*nbytes_in</computeroutput> will be set to be the
+total volume of uncompressed data handled.  Similarly,
+<computeroutput>nbytes_out</computeroutput> will be set to the
+total volume of compressed data written.  For compatibility with
+older versions of the library,
+<computeroutput>BZ2_bzWriteClose</computeroutput> only yields the
+lower 32 bits of these counts.  Use
+<computeroutput>BZ2_bzWriteClose64</computeroutput> if you want
+the full 64 bit counts.  These two functions are otherwise
+absolutely identical.</para>
+
+<para>Possible assignments to
+<computeroutput>bzerror</computeroutput>:</para>
+
+<programlisting>
+BZ_SEQUENCE_ERROR
+  if b was opened with BZ2_bzReadOpen
+BZ_IO_ERROR
+  if there is an error writing the compressed file
+BZ_OK
+  otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="embed" xreflabel="Handling embedded compressed data streams">
+<title>Handling embedded compressed data streams</title>
+
+<para>The high-level library facilitates use of
+<computeroutput>bzip2</computeroutput> data streams which form
+some part of a surrounding, larger data stream.</para>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para>For writing, the library takes an open file handle,
+  writes compressed data to it,
+  <computeroutput>fflush</computeroutput>es it but does not
+  <computeroutput>fclose</computeroutput> it.  The calling
+  application can write its own data before and after the
+  compressed data stream, using that same file handle.</para></listitem>
+
+ <listitem><para>Reading is more complex, and the facilities are not as
+  general as they could be since generality is hard to reconcile
+  with efficiency.  <computeroutput>BZ2_bzRead</computeroutput>
+  reads from the compressed file in blocks of size
+  <computeroutput>BZ_MAX_UNUSED</computeroutput> bytes, and in
+  doing so probably will overshoot the logical end of compressed
+  stream.  To recover this data once decompression has ended,
+  call <computeroutput>BZ2_bzReadGetUnused</computeroutput> after
+  the last call of <computeroutput>BZ2_bzRead</computeroutput>
+  (the one returning
+  <computeroutput>BZ_STREAM_END</computeroutput>) but before
+  calling
+  <computeroutput>BZ2_bzReadClose</computeroutput>.</para></listitem>
+
+</itemizedlist>
+
+<para>This mechanism makes it easy to decompress multiple
+<computeroutput>bzip2</computeroutput> streams placed end-to-end.
+As the end of one stream, when
+<computeroutput>BZ2_bzRead</computeroutput> returns
+<computeroutput>BZ_STREAM_END</computeroutput>, call
+<computeroutput>BZ2_bzReadGetUnused</computeroutput> to collect
+the unused data (copy it into your own buffer somewhere).  That
+data forms the start of the next compressed stream.  To start
+uncompressing that next stream, call
+<computeroutput>BZ2_bzReadOpen</computeroutput> again, feeding in
+the unused data via the <computeroutput>unused</computeroutput> /
+<computeroutput>nUnused</computeroutput> parameters.  Keep doing
+this until <computeroutput>BZ_STREAM_END</computeroutput> return
+coincides with the physical end of file
+(<computeroutput>feof(f)</computeroutput>).  In this situation
+<computeroutput>BZ2_bzReadGetUnused</computeroutput> will of
+course return no data.</para>
+
+<para>This should give some feel for how the high-level interface
+can be used.  If you require extra flexibility, you'll have to
+bite the bullet and get to grips with the low-level
+interface.</para>
+
+</sect2>
+
+
+<sect2 id="std-rdwr" xreflabel="Standard file-reading/writing code">
+<title>Standard file-reading/writing code</title>
+
+<para>Here's how you'd write data to a compressed file:</para>
+
+<programlisting>
+FILE*   f;
+BZFILE* b;
+int     nBuf;
+char    buf[ /* whatever size you like */ ];
+int     bzerror;
+int     nWritten;
+
+f = fopen ( "myfile.bz2", "w" );
+if ( !f ) {
+ /* handle error */
+}
+b = BZ2_bzWriteOpen( &bzerror, f, 9 );
+if (bzerror != BZ_OK) {
+ BZ2_bzWriteClose ( b );
+ /* handle error */
+}
+
+while ( /* condition */ ) {
+ /* get data to write into buf, and set nBuf appropriately */
+ nWritten = BZ2_bzWrite ( &bzerror, b, buf, nBuf );
+ if (bzerror == BZ_IO_ERROR) { 
+   BZ2_bzWriteClose ( &bzerror, b );
+   /* handle error */
+ }
+}
+
+BZ2_bzWriteClose( &bzerror, b );
+if (bzerror == BZ_IO_ERROR) {
+ /* handle error */
+}
+</programlisting>
+
+<para>And to read from a compressed file:</para>
+
+<programlisting>
+FILE*   f;
+BZFILE* b;
+int     nBuf;
+char    buf[ /* whatever size you like */ ];
+int     bzerror;
+int     nWritten;
+
+f = fopen ( "myfile.bz2", "r" );
+if ( !f ) {
+  /* handle error */
+}
+b = BZ2_bzReadOpen ( &bzerror, f, 0, NULL, 0 );
+if ( bzerror != BZ_OK ) {
+  BZ2_bzReadClose ( &bzerror, b );
+  /* handle error */
+}
+
+bzerror = BZ_OK;
+while ( bzerror == BZ_OK && /* arbitrary other conditions */) {
+  nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ );
+  if ( bzerror == BZ_OK ) {
+    /* do something with buf[0 .. nBuf-1] */
+  }
+}
+if ( bzerror != BZ_STREAM_END ) {
+   BZ2_bzReadClose ( &bzerror, b );
+   /* handle error */
+} else {
+   BZ2_bzReadClose ( &bzerror );
+}
+</programlisting>
+
+</sect2>
+
+</sect1>
+
+
+<sect1 id="util-fns" xreflabel="Utility functions">
+<title>Utility functions</title>
+
+
+<sect2 id="bzbufftobuffcompress" xreflabel="BZ2_bzBuffToBuffCompress">
+<title><computeroutput>BZ2_bzBuffToBuffCompress</computeroutput></title>
+
+<programlisting>
+int BZ2_bzBuffToBuffCompress( char*         dest,
+                              unsigned int* destLen,
+                              char*         source,
+                              unsigned int  sourceLen,
+                              int           blockSize100k,
+                              int           verbosity,
+                              int           workFactor );
+</programlisting>
+
+<para>Attempts to compress the data in <computeroutput>source[0
+.. sourceLen-1]</computeroutput> into the destination buffer,
+<computeroutput>dest[0 .. *destLen-1]</computeroutput>.  If the
+destination buffer is big enough,
+<computeroutput>*destLen</computeroutput> is set to the size of
+the compressed data, and <computeroutput>BZ_OK</computeroutput>
+is returned.  If the compressed data won't fit,
+<computeroutput>*destLen</computeroutput> is unchanged, and
+<computeroutput>BZ_OUTBUFF_FULL</computeroutput> is
+returned.</para>
+
+<para>Compression in this manner is a one-shot event, done with a
+single call to this function.  The resulting compressed data is a
+complete <computeroutput>bzip2</computeroutput> format data
+stream.  There is no mechanism for making additional calls to
+provide extra input data.  If you want that kind of mechanism,
+use the low-level interface.</para>
+
+<para>For the meaning of parameters
+<computeroutput>blockSize100k</computeroutput>,
+<computeroutput>verbosity</computeroutput> and
+<computeroutput>workFactor</computeroutput>, see
+<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
+
+<para>To guarantee that the compressed data will fit in its
+buffer, allocate an output buffer of size 1% larger than the
+uncompressed data, plus six hundred extra bytes.</para>
+
+<para><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput>
+will not write data at or beyond
+<computeroutput>dest[*destLen]</computeroutput>, even in case of
+buffer overflow.</para>
+
+<para>Possible return values:</para>
+
+<programlisting>
+BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if dest is NULL or destLen is NULL
+  or blockSize100k < 1 or blockSize100k > 9
+  or verbosity < 0 or verbosity > 4
+  or workFactor < 0 or workFactor > 250
+BZ_MEM_ERROR
+  if insufficient memory is available 
+BZ_OUTBUFF_FULL
+  if the size of the compressed data exceeds *destLen
+BZ_OK
+  otherwise
+</programlisting>
+
+</sect2>
+
+
+<sect2 id="bzbufftobuffdecompress" xreflabel="BZ2_bzBuffToBuffDecompress">
+<title><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput></title>
+
+<programlisting>
+int BZ2_bzBuffToBuffDecompress( char*         dest,
+                                unsigned int* destLen,
+                                char*         source,
+                                unsigned int  sourceLen,
+                                int           small,
+                                int           verbosity );
+</programlisting>
+
+<para>Attempts to decompress the data in <computeroutput>source[0
+.. sourceLen-1]</computeroutput> into the destination buffer,
+<computeroutput>dest[0 .. *destLen-1]</computeroutput>.  If the
+destination buffer is big enough,
+<computeroutput>*destLen</computeroutput> is set to the size of
+the uncompressed data, and <computeroutput>BZ_OK</computeroutput>
+is returned.  If the compressed data won't fit,
+<computeroutput>*destLen</computeroutput> is unchanged, and
+<computeroutput>BZ_OUTBUFF_FULL</computeroutput> is
+returned.</para>
+
+<para><computeroutput>source</computeroutput> is assumed to hold
+a complete <computeroutput>bzip2</computeroutput> format data
+stream.
+<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> tries
+to decompress the entirety of the stream into the output
+buffer.</para>
+
+<para>For the meaning of parameters
+<computeroutput>small</computeroutput> and
+<computeroutput>verbosity</computeroutput>, see
+<computeroutput>BZ2_bzDecompressInit</computeroutput>.</para>
+
+<para>Because the compression ratio of the compressed data cannot
+be known in advance, there is no easy way to guarantee that the
+output buffer will be big enough.  You may of course make
+arrangements in your code to record the size of the uncompressed
+data, but such a mechanism is beyond the scope of this
+library.</para>
+
+<para><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput>
+will not write data at or beyond
+<computeroutput>dest[*destLen]</computeroutput>, even in case of
+buffer overflow.</para>
+
+<para>Possible return values:</para>
+
+<programlisting>
+BZ_CONFIG_ERROR
+  if the library has been mis-compiled
+BZ_PARAM_ERROR
+  if dest is NULL or destLen is NULL
+  or small != 0 && small != 1
+  or verbosity < 0 or verbosity > 4
+BZ_MEM_ERROR
+  if insufficient memory is available 
+BZ_OUTBUFF_FULL
+  if the size of the compressed data exceeds *destLen
+BZ_DATA_ERROR
+  if a data integrity error was detected in the compressed data
+BZ_DATA_ERROR_MAGIC
+  if the compressed data doesn't begin with the right magic bytes
+BZ_UNEXPECTED_EOF
+  if the compressed data ends unexpectedly
+BZ_OK
+  otherwise
+</programlisting>
+
+</sect2>
+
+</sect1>
+
+
+<sect1 id="zlib-compat" xreflabel="zlib compatibility functions">
+<title><computeroutput>zlib</computeroutput> compatibility functions</title>
+
+<para>Yoshioka Tsuneo has contributed some functions to give
+better <computeroutput>zlib</computeroutput> compatibility.
+These functions are <computeroutput>BZ2_bzopen</computeroutput>,
+<computeroutput>BZ2_bzread</computeroutput>,
+<computeroutput>BZ2_bzwrite</computeroutput>,
+<computeroutput>BZ2_bzflush</computeroutput>,
+<computeroutput>BZ2_bzclose</computeroutput>,
+<computeroutput>BZ2_bzerror</computeroutput> and
+<computeroutput>BZ2_bzlibVersion</computeroutput>.  These
+functions are not (yet) officially part of the library.  If they
+break, you get to keep all the pieces.  Nevertheless, I think
+they work ok.</para>
+
+<programlisting>
+typedef void BZFILE;
+
+const char * BZ2_bzlibVersion ( void );
+</programlisting>
+
+<para>Returns a string indicating the library version.</para>
+
+<programlisting>
+BZFILE * BZ2_bzopen  ( const char *path, const char *mode );
+BZFILE * BZ2_bzdopen ( int        fd,    const char *mode );
+</programlisting>
+
+<para>Opens a <computeroutput>.bz2</computeroutput> file for
+reading or writing, using either its name or a pre-existing file
+descriptor.  Analogous to <computeroutput>fopen</computeroutput>
+and <computeroutput>fdopen</computeroutput>.</para>
+
+<programlisting>
+int BZ2_bzread  ( BZFILE* b, void* buf, int len );
+int BZ2_bzwrite ( BZFILE* b, void* buf, int len );
+</programlisting>
+
+<para>Reads/writes data from/to a previously opened
+<computeroutput>BZFILE</computeroutput>.  Analogous to
+<computeroutput>fread</computeroutput> and
+<computeroutput>fwrite</computeroutput>.</para>
+
+<programlisting>
+int  BZ2_bzflush ( BZFILE* b );
+void BZ2_bzclose ( BZFILE* b );
+</programlisting>
+
+<para>Flushes/closes a <computeroutput>BZFILE</computeroutput>.
+<computeroutput>BZ2_bzflush</computeroutput> doesn't actually do
+anything.  Analogous to <computeroutput>fflush</computeroutput>
+and <computeroutput>fclose</computeroutput>.</para>
+
+<programlisting>
+const char * BZ2_bzerror ( BZFILE *b, int *errnum )
+</programlisting>
+
+<para>Returns a string describing the more recent error status of
+<computeroutput>b</computeroutput>, and also sets
+<computeroutput>*errnum</computeroutput> to its numerical
+value.</para>
+
+</sect1>
+
+
+<sect1 id="stdio-free" 
+       xreflabel="Using the library in a stdio-free environment">
+<title>Using the library in a <computeroutput>stdio</computeroutput>-free environment</title>
+
+
+<sect2 id="stdio-bye" xreflabel="Getting rid of stdio">
+<title>Getting rid of <computeroutput>stdio</computeroutput></title>
+
+<para>In a deeply embedded application, you might want to use
+just the memory-to-memory functions.  You can do this
+conveniently by compiling the library with preprocessor symbol
+<computeroutput>BZ_NO_STDIO</computeroutput> defined.  Doing this
+gives you a library containing only the following eight
+functions:</para>
+
+<para><computeroutput>BZ2_bzCompressInit</computeroutput>,
+<computeroutput>BZ2_bzCompress</computeroutput>,
+<computeroutput>BZ2_bzCompressEnd</computeroutput>
+<computeroutput>BZ2_bzDecompressInit</computeroutput>,
+<computeroutput>BZ2_bzDecompress</computeroutput>,
+<computeroutput>BZ2_bzDecompressEnd</computeroutput>
+<computeroutput>BZ2_bzBuffToBuffCompress</computeroutput>,
+<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput></para>
+
+<para>When compiled like this, all functions will ignore
+<computeroutput>verbosity</computeroutput> settings.</para>
+
+</sect2>
+
+
+<sect2 id="critical-error" xreflabel="Critical error handling">
+<title>Critical error handling</title>
+
+<para><computeroutput>libbzip2</computeroutput> contains a number
+of internal assertion checks which should, needless to say, never
+be activated.  Nevertheless, if an assertion should fail,
+behaviour depends on whether or not the library was compiled with
+<computeroutput>BZ_NO_STDIO</computeroutput> set.</para>
+
+<para>For a normal compile, an assertion failure yields the
+message:</para>
+
+<blockquote>
+<para>bzip2/libbzip2: internal error number N.</para>
+<para>This is a bug in bzip2/libbzip2, &bz-version; of &bz-date;.
+Please report it to me at: &bz-email;.  If this happened
+when you were using some program which uses libbzip2 as a
+component, you should also report this bug to the author(s)
+of that program.  Please make an effort to report this bug;
+timely and accurate bug reports eventually lead to higher
+quality software.  Thanks.  Julian Seward, &bz-date;.
+</para></blockquote>
+
+<para>where <computeroutput>N</computeroutput> is some error code
+number.  If <computeroutput>N == 1007</computeroutput>, it also
+prints some extra text advising the reader that unreliable memory
+is often associated with internal error 1007. (This is a
+frequently-observed-phenomenon with versions 1.0.0/1.0.1).</para>
+
+<para><computeroutput>exit(3)</computeroutput> is then
+called.</para>
+
+<para>For a <computeroutput>stdio</computeroutput>-free library,
+assertion failures result in a call to a function declared
+as:</para>
+
+<programlisting>
+extern void bz_internal_error ( int errcode );
+</programlisting>
+
+<para>The relevant code is passed as a parameter.  You should
+supply such a function.</para>
+
+<para>In either case, once an assertion failure has occurred, any
+<computeroutput>bz_stream</computeroutput> records involved can
+be regarded as invalid.  You should not attempt to resume normal
+operation with them.</para>
+
+<para>You may, of course, change critical error handling to suit
+your needs.  As I said above, critical errors indicate bugs in
+the library and should not occur.  All "normal" error situations
+are indicated via error return codes from functions, and can be
+recovered from.</para>
+
+</sect2>
+
+</sect1>
+
+
+<sect1 id="win-dll" xreflabel="Making a Windows DLL">
+<title>Making a Windows DLL</title>
+
+<para>Everything related to Windows has been contributed by
+Yoshioka Tsuneo
+(<computeroutput>QWF00133@niftyserve.or.jp</computeroutput> /
+<computeroutput>tsuneo-y@is.aist-nara.ac.jp</computeroutput>), so
+you should send your queries to him (but perhaps Cc: me,
+<computeroutput>&bz-email;</computeroutput>).</para>
+
+<para>My vague understanding of what to do is: using Visual C++
+5.0, open the project file
+<computeroutput>libbz2.dsp</computeroutput>, and build.  That's
+all.</para>
+
+<para>If you can't open the project file for some reason, make a
+new one, naming these files:
+<computeroutput>blocksort.c</computeroutput>,
+<computeroutput>bzlib.c</computeroutput>,
+<computeroutput>compress.c</computeroutput>,
+<computeroutput>crctable.c</computeroutput>,
+<computeroutput>decompress.c</computeroutput>,
+<computeroutput>huffman.c</computeroutput>,
+<computeroutput>randtable.c</computeroutput> and
+<computeroutput>libbz2.def</computeroutput>.  You will also need
+to name the header files <computeroutput>bzlib.h</computeroutput>
+and <computeroutput>bzlib_private.h</computeroutput>.</para>
+
+<para>If you don't use VC++, you may need to define the
+proprocessor symbol
+<computeroutput>_WIN32</computeroutput>.</para>
+
+<para>Finally, <computeroutput>dlltest.c</computeroutput> is a
+sample program using the DLL.  It has a project file,
+<computeroutput>dlltest.dsp</computeroutput>.</para>
+
+<para>If you just want a makefile for Visual C, have a look at
+<computeroutput>makefile.msc</computeroutput>.</para>
+
+<para>Be aware that if you compile
+<computeroutput>bzip2</computeroutput> itself on Win32, you must
+set <computeroutput>BZ_UNIX</computeroutput> to 0 and
+<computeroutput>BZ_LCCWIN32</computeroutput> to 1, in the file
+<computeroutput>bzip2.c</computeroutput>, before compiling.
+Otherwise the resulting binary won't work correctly.</para>
+
+<para>I haven't tried any of this stuff myself, but it all looks
+plausible.</para>
+
+</sect1>
+
+</chapter>
+
+
+
+<chapter id="misc" xreflabel="Miscellanea">
+<title>Miscellanea</title>
+
+<para>These are just some random thoughts of mine.  Your mileage
+may vary.</para>
+
+
+<sect1 id="limits" xreflabel="Limitations of the compressed file format">
+<title>Limitations of the compressed file format</title>
+
+<para><computeroutput>bzip2-1.0.X</computeroutput>,
+<computeroutput>0.9.5</computeroutput> and
+<computeroutput>0.9.0</computeroutput> use exactly the same file
+format as the original version,
+<computeroutput>bzip2-0.1</computeroutput>.  This decision was
+made in the interests of stability.  Creating yet another
+incompatible compressed file format would create further
+confusion and disruption for users.</para>
+
+<para>Nevertheless, this is not a painless decision.  Development
+work since the release of
+<computeroutput>bzip2-0.1</computeroutput> in August 1997 has
+shown complexities in the file format which slow down
+decompression and, in retrospect, are unnecessary.  These
+are:</para>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para>The run-length encoder, which is the first of the
+   compression transformations, is entirely irrelevant.  The
+   original purpose was to protect the sorting algorithm from the
+   very worst case input: a string of repeated symbols.  But
+   algorithm steps Q6a and Q6b in the original Burrows-Wheeler
+   technical report (SRC-124) show how repeats can be handled
+   without difficulty in block sorting.</para></listitem>
+
+ <listitem><para>The randomisation mechanism doesn't really need to be
+   there.  Udi Manber and Gene Myers published a suffix array
+   construction algorithm a few years back, which can be employed
+   to sort any block, no matter how repetitive, in O(N log N)
+   time.  Subsequent work by Kunihiko Sadakane has produced a
+   derivative O(N (log N)^2) algorithm which usually outperforms
+   the Manber-Myers algorithm.</para>
+
+   <para>I could have changed to Sadakane's algorithm, but I find
+   it to be slower than <computeroutput>bzip2</computeroutput>'s
+   existing algorithm for most inputs, and the randomisation
+   mechanism protects adequately against bad cases.  I didn't
+   think it was a good tradeoff to make.  Partly this is due to
+   the fact that I was not flooded with email complaints about
+   <computeroutput>bzip2-0.1</computeroutput>'s performance on
+   repetitive data, so perhaps it isn't a problem for real
+   inputs.</para>
+
+   <para>Probably the best long-term solution, and the one I have
+   incorporated into 0.9.5 and above, is to use the existing
+   sorting algorithm initially, and fall back to a O(N (log N)^2)
+   algorithm if the standard algorithm gets into
+   difficulties.</para></listitem>
+
+  <listitem><para>The compressed file format was never designed to be
+   handled by a library, and I have had to jump though some hoops
+   to produce an efficient implementation of decompression.  It's
+   a bit hairy.  Try passing
+   <computeroutput>decompress.c</computeroutput> through the C
+   preprocessor and you'll see what I mean.  Much of this
+   complexity could have been avoided if the compressed size of
+   each block of data was recorded in the data stream.</para></listitem>
+
+ <listitem><para>An Adler-32 checksum, rather than a CRC32 checksum,
+   would be faster to compute.</para></listitem>
+
+</itemizedlist>
+
+<para>It would be fair to say that the
+<computeroutput>bzip2</computeroutput> format was frozen before I
+properly and fully understood the performance consequences of
+doing so.</para>
+
+<para>Improvements which I was able to incorporate into 0.9.0,
+despite using the same file format, are:</para>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para>Single array implementation of the inverse BWT.  This
+  significantly speeds up decompression, presumably because it
+  reduces the number of cache misses.</para></listitem>
+
+ <listitem><para>Faster inverse MTF transform for large MTF values.
+  The new implementation is based on the notion of sliding blocks
+  of values.</para></listitem>
+
+ <listitem><para><computeroutput>bzip2-0.9.0</computeroutput> now reads
+  and writes files with <computeroutput>fread</computeroutput>
+  and <computeroutput>fwrite</computeroutput>; version 0.1 used
+  <computeroutput>putc</computeroutput> and
+  <computeroutput>getc</computeroutput>.  Duh!  Well, you live
+  and learn.</para></listitem>
+
+</itemizedlist>
+
+<para>Further ahead, it would be nice to be able to do random
+access into files.  This will require some careful design of
+compressed file formats.</para>
+
+</sect1>
+
+
+<sect1 id="port-issues" xreflabel="Portability issues">
+<title>Portability issues</title>
+
+<para>After some consideration, I have decided not to use GNU
+<computeroutput>autoconf</computeroutput> to configure 0.9.5 or
+1.0.</para>
+
+<para><computeroutput>autoconf</computeroutput>, admirable and
+wonderful though it is, mainly assists with portability problems
+between Unix-like platforms.  But
+<computeroutput>bzip2</computeroutput> doesn't have much in the
+way of portability problems on Unix; most of the difficulties
+appear when porting to the Mac, or to Microsoft's operating
+systems.  <computeroutput>autoconf</computeroutput> doesn't help
+in those cases, and brings in a whole load of new
+complexity.</para>
+
+<para>Most people should be able to compile the library and
+program under Unix straight out-of-the-box, so to speak,
+especially if you have a version of GNU C available.</para>
+
+<para>There are a couple of
+<computeroutput>__inline__</computeroutput> directives in the
+code.  GNU C (<computeroutput>gcc</computeroutput>) should be
+able to handle them.  If you're not using GNU C, your C compiler
+shouldn't see them at all.  If your compiler does, for some
+reason, see them and doesn't like them, just
+<computeroutput>#define</computeroutput>
+<computeroutput>__inline__</computeroutput> to be
+<computeroutput>/* */</computeroutput>.  One easy way to do this
+is to compile with the flag
+<computeroutput>-D__inline__=</computeroutput>, which should be
+understood by most Unix compilers.</para>
+
+<para>If you still have difficulties, try compiling with the
+macro <computeroutput>BZ_STRICT_ANSI</computeroutput> defined.
+This should enable you to build the library in a strictly ANSI
+compliant environment.  Building the program itself like this is
+dangerous and not supported, since you remove
+<computeroutput>bzip2</computeroutput>'s checks against
+compressing directories, symbolic links, devices, and other
+not-really-a-file entities.  This could cause filesystem
+corruption!</para>
+
+<para>One other thing: if you create a
+<computeroutput>bzip2</computeroutput> binary for public distribution,
+please consider linking it statically (<computeroutput>gcc
+-static</computeroutput>).  This avoids all sorts of library-version
+issues that others may encounter later on.</para>
+
+<para>If you build <computeroutput>bzip2</computeroutput> on
+Win32, you must set <computeroutput>BZ_UNIX</computeroutput> to 0
+and <computeroutput>BZ_LCCWIN32</computeroutput> to 1, in the
+file <computeroutput>bzip2.c</computeroutput>, before compiling.
+Otherwise the resulting binary won't work correctly.</para>
+
+</sect1>
+
+
+<sect1 id="bugs" xreflabel="Reporting bugs">
+<title>Reporting bugs</title>
+
+<para>I tried pretty hard to make sure
+<computeroutput>bzip2</computeroutput> is bug free, both by
+design and by testing.  Hopefully you'll never need to read this
+section for real.</para>
+
+<para>Nevertheless, if <computeroutput>bzip2</computeroutput> dies
+with a segmentation fault, a bus error or an internal assertion
+failure, it will ask you to email me a bug report.  Experience from
+years of feedback of bzip2 users indicates that almost all these
+problems can be traced to either compiler bugs or hardware
+problems.</para>
+
+<itemizedlist mark='bullet'>
+
+ <listitem><para>Recompile the program with no optimisation, and
+  see if it works.  And/or try a different compiler.  I heard all
+  sorts of stories about various flavours of GNU C (and other
+  compilers) generating bad code for
+  <computeroutput>bzip2</computeroutput>, and I've run across two
+  such examples myself.</para>
+
+  <para>2.7.X versions of GNU C are known to generate bad code
+  from time to time, at high optimisation levels.  If you get
+  problems, try using the flags
+  <computeroutput>-O2</computeroutput>
+  <computeroutput>-fomit-frame-pointer</computeroutput>
+  <computeroutput>-fno-strength-reduce</computeroutput>.  You
+  should specifically <emphasis>not</emphasis> use
+  <computeroutput>-funroll-loops</computeroutput>.</para>
+
+  <para>You may notice that the Makefile runs six tests as part
+  of the build process.  If the program passes all of these, it's
+  a pretty good (but not 100%) indication that the compiler has
+  done its job correctly.</para></listitem>
+
+ <listitem><para>If <computeroutput>bzip2</computeroutput>
+  crashes randomly, and the crashes are not repeatable, you may
+  have a flaky memory subsystem.
+  <computeroutput>bzip2</computeroutput> really hammers your
+  memory hierarchy, and if it's a bit marginal, you may get these
+  problems.  Ditto if your disk or I/O subsystem is slowly
+  failing.  Yup, this really does happen.</para>
+
+  <para>Try using a different machine of the same type, and see
+  if you can repeat the problem.</para></listitem>
+
+  <listitem><para>This isn't really a bug, but ... If
+  <computeroutput>bzip2</computeroutput> tells you your file is
+  corrupted on decompression, and you obtained the file via FTP,
+  there is a possibility that you forgot to tell FTP to do a
+  binary mode transfer.  That absolutely will cause the file to
+  be non-decompressible.  You'll have to transfer it
+  again.</para></listitem>
+
+</itemizedlist>
+
+<para>If you've incorporated
+<computeroutput>libbzip2</computeroutput> into your own program
+and are getting problems, please, please, please, check that the
+parameters you are passing in calls to the library, are correct,
+and in accordance with what the documentation says is allowable.
+I have tried to make the library robust against such problems,
+but I'm sure I haven't succeeded.</para>
+
+<para>Finally, if the above comments don't help, you'll have to
+send me a bug report.  Now, it's just amazing how many people
+will send me a bug report saying something like:</para>
+
+<programlisting>
+bzip2 crashed with segmentation fault on my machine
+</programlisting>
+
+<para>and absolutely nothing else.  Needless to say, a such a
+report is <emphasis>totally, utterly, completely and
+comprehensively 100% useless; a waste of your time, my time, and
+net bandwidth</emphasis>.  With no details at all, there's no way
+I can possibly begin to figure out what the problem is.</para>
+
+<para>The rules of the game are: facts, facts, facts.  Don't omit
+them because "oh, they won't be relevant".  At the bare
+minimum:</para>
+
+<programlisting>
+Machine type.  Operating system version.  
+Exact version of bzip2 (do bzip2 -V).  
+Exact version of the compiler used.  
+Flags passed to the compiler.
+</programlisting>
+
+<para>However, the most important single thing that will help me
+is the file that you were trying to compress or decompress at the
+time the problem happened.  Without that, my ability to do
+anything more than speculate about the cause, is limited.</para>
+
+</sect1>
+
+
+<sect1 id="package" xreflabel="Did you get the right package?">
+<title>Did you get the right package?</title>
+
+<para><computeroutput>bzip2</computeroutput> is a resource hog.
+It soaks up large amounts of CPU cycles and memory.  Also, it
+gives very large latencies.  In the worst case, you can feed many
+megabytes of uncompressed data into the library before getting
+any compressed output, so this probably rules out applications
+requiring interactive behaviour.</para>
+
+<para>These aren't faults of my implementation, I hope, but more
+an intrinsic property of the Burrows-Wheeler transform
+(unfortunately).  Maybe this isn't what you want.</para>
+
+<para>If you want a compressor and/or library which is faster,
+uses less memory but gets pretty good compression, and has
+minimal latency, consider Jean-loup Gailly's and Mark Adler's
+work, <computeroutput>zlib-1.2.1</computeroutput> and
+<computeroutput>gzip-1.2.4</computeroutput>.  Look for them at 
+<ulink url="http://www.zlib.org">http://www.zlib.org</ulink> and 
+<ulink url="http://www.gzip.org">http://www.gzip.org</ulink>
+respectively.</para>
+
+<para>For something faster and lighter still, you might try Markus F
+X J Oberhumer's <computeroutput>LZO</computeroutput> real-time
+compression/decompression library, at 
+<ulink url="http://www.oberhumer.com/opensource">http://www.oberhumer.com/opensource</ulink>.</para>
+
+</sect1>
+
+
+
+<sect1 id="reading" xreflabel="Further Reading">
+<title>Further Reading</title>
+
+<para><computeroutput>bzip2</computeroutput> is not research
+work, in the sense that it doesn't present any new ideas.
+Rather, it's an engineering exercise based on existing
+ideas.</para>
+
+<para>Four documents describe essentially all the ideas behind
+<computeroutput>bzip2</computeroutput>:</para>
+
+<literallayout>Michael Burrows and D. J. Wheeler:
+  "A block-sorting lossless data compression algorithm"
+   10th May 1994. 
+   Digital SRC Research Report 124.
+   ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz
+   If you have trouble finding it, try searching at the
+   New Zealand Digital Library, http://www.nzdl.org.
+
+Daniel S. Hirschberg and Debra A. LeLewer
+  "Efficient Decoding of Prefix Codes"
+   Communications of the ACM, April 1990, Vol 33, Number 4.
+   You might be able to get an electronic copy of this
+   from the ACM Digital Library.
+
+David J. Wheeler
+   Program bred3.c and accompanying document bred3.ps.
+   This contains the idea behind the multi-table Huffman coding scheme.
+   ftp://ftp.cl.cam.ac.uk/users/djw3/
+
+Jon L. Bentley and Robert Sedgewick
+  "Fast Algorithms for Sorting and Searching Strings"
+   Available from Sedgewick's web page,
+   www.cs.princeton.edu/~rs
+</literallayout>
+
+<para>The following paper gives valuable additional insights into
+the algorithm, but is not immediately the basis of any code used
+in bzip2.</para>
+
+<literallayout>Peter Fenwick:
+   Block Sorting Text Compression
+   Proceedings of the 19th Australasian Computer Science Conference,
+     Melbourne, Australia.  Jan 31 - Feb 2, 1996.
+   ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps</literallayout>
+
+<para>Kunihiko Sadakane's sorting algorithm, mentioned above, is
+available from:</para>
+
+<literallayout>http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz
+</literallayout>
+
+<para>The Manber-Myers suffix array construction algorithm is
+described in a paper available from:</para>
+
+<literallayout>http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps
+</literallayout>
+
+<para>Finally, the following papers document some
+investigations I made into the performance of sorting
+and decompression algorithms:</para>
+
+<literallayout>Julian Seward
+   On the Performance of BWT Sorting Algorithms
+   Proceedings of the IEEE Data Compression Conference 2000
+     Snowbird, Utah.  28-30 March 2000.
+
+Julian Seward
+   Space-time Tradeoffs in the Inverse B-W Transform
+   Proceedings of the IEEE Data Compression Conference 2001
+     Snowbird, Utah.  27-29 March 2001.
+</literallayout>
+
+</sect1>
+
+</chapter>
+
+</book>
diff --git a/commands/bzip2-1.0.3/mk251.c b/commands/bzip2-1.0.3/mk251.c
new file mode 100644 (file)
index 0000000..205778a
--- /dev/null
@@ -0,0 +1,16 @@
+
+/* Spew out a long sequence of the byte 251.  When fed to bzip2
+   versions 1.0.0 or 1.0.1, causes it to die with internal error
+   1007 in blocksort.c.  This assertion misses an extremely rare
+   case, which is fixed in this version (1.0.2) and above.
+*/
+
+#include <stdio.h>
+
+int main ()
+{
+   int i;
+   for (i = 0; i < 48500000 ; i++)
+     putchar(251);
+   return 0;
+}
diff --git a/commands/bzip2-1.0.3/randtable.c b/commands/bzip2-1.0.3/randtable.c
new file mode 100644 (file)
index 0000000..940462d
--- /dev/null
@@ -0,0 +1,124 @@
+
+/*-------------------------------------------------------------*/
+/*--- Table for randomising repetitive blocks               ---*/
+/*---                                           randtable.c ---*/
+/*-------------------------------------------------------------*/
+
+/*--
+  This file is a part of bzip2 and/or libbzip2, a program and
+  library for lossless, block-sorting data compression.
+
+  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. The origin of this software must not be misrepresented; you must 
+     not claim that you wrote the original software.  If you use this 
+     software in a product, an acknowledgment in the product 
+     documentation would be appreciated but is not required.
+
+  3. Altered source versions must be plainly marked as such, and must
+     not be misrepresented as being the original software.
+
+  4. The name of the author may not be used to endorse or promote 
+     products derived from this software without specific prior written 
+     permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+  Julian Seward, Cambridge, UK.
+  jseward@bzip.org
+  bzip2/libbzip2 version 1.0 of 21 March 2000
+
+  This program is based on (at least) the work of:
+     Mike Burrows
+     David Wheeler
+     Peter Fenwick
+     Alistair Moffat
+     Radford Neal
+     Ian H. Witten
+     Robert Sedgewick
+     Jon L. Bentley
+
+  For more information on these sources, see the manual.
+--*/
+
+
+#include "bzlib_private.h"
+
+
+/*---------------------------------------------*/
+Int32 BZ2_rNums[512] = { 
+   619, 720, 127, 481, 931, 816, 813, 233, 566, 247, 
+   985, 724, 205, 454, 863, 491, 741, 242, 949, 214, 
+   733, 859, 335, 708, 621, 574, 73, 654, 730, 472, 
+   419, 436, 278, 496, 867, 210, 399, 680, 480, 51, 
+   878, 465, 811, 169, 869, 675, 611, 697, 867, 561, 
+   862, 687, 507, 283, 482, 129, 807, 591, 733, 623, 
+   150, 238, 59, 379, 684, 877, 625, 169, 643, 105, 
+   170, 607, 520, 932, 727, 476, 693, 425, 174, 647, 
+   73, 122, 335, 530, 442, 853, 695, 249, 445, 515, 
+   909, 545, 703, 919, 874, 474, 882, 500, 594, 612, 
+   641, 801, 220, 162, 819, 984, 589, 513, 495, 799, 
+   161, 604, 958, 533, 221, 400, 386, 867, 600, 782, 
+   382, 596, 414, 171, 516, 375, 682, 485, 911, 276, 
+   98, 553, 163, 354, 666, 933, 424, 341, 533, 870, 
+   227, 730, 475, 186, 263, 647, 537, 686, 600, 224, 
+   469, 68, 770, 919, 190, 373, 294, 822, 808, 206, 
+   184, 943, 795, 384, 383, 461, 404, 758, 839, 887, 
+   715, 67, 618, 276, 204, 918, 873, 777, 604, 560, 
+   951, 160, 578, 722, 79, 804, 96, 409, 713, 940, 
+   652, 934, 970, 447, 318, 353, 859, 672, 112, 785, 
+   645, 863, 803, 350, 139, 93, 354, 99, 820, 908, 
+   609, 772, 154, 274, 580, 184, 79, 626, 630, 742, 
+   653, 282, 762, 623, 680, 81, 927, 626, 789, 125, 
+   411, 521, 938, 300, 821, 78, 343, 175, 128, 250, 
+   170, 774, 972, 275, 999, 639, 495, 78, 352, 126, 
+   857, 956, 358, 619, 580, 124, 737, 594, 701, 612, 
+   669, 112, 134, 694, 363, 992, 809, 743, 168, 974, 
+   944, 375, 748, 52, 600, 747, 642, 182, 862, 81, 
+   344, 805, 988, 739, 511, 655, 814, 334, 249, 515, 
+   897, 955, 664, 981, 649, 113, 974, 459, 893, 228, 
+   433, 837, 553, 268, 926, 240, 102, 654, 459, 51, 
+   686, 754, 806, 760, 493, 403, 415, 394, 687, 700, 
+   946, 670, 656, 610, 738, 392, 760, 799, 887, 653, 
+   978, 321, 576, 617, 626, 502, 894, 679, 243, 440, 
+   680, 879, 194, 572, 640, 724, 926, 56, 204, 700, 
+   707, 151, 457, 449, 797, 195, 791, 558, 945, 679, 
+   297, 59, 87, 824, 713, 663, 412, 693, 342, 606, 
+   134, 108, 571, 364, 631, 212, 174, 643, 304, 329, 
+   343, 97, 430, 751, 497, 314, 983, 374, 822, 928, 
+   140, 206, 73, 263, 980, 736, 876, 478, 430, 305, 
+   170, 514, 364, 692, 829, 82, 855, 953, 676, 246, 
+   369, 970, 294, 750, 807, 827, 150, 790, 288, 923, 
+   804, 378, 215, 828, 592, 281, 565, 555, 710, 82, 
+   896, 831, 547, 261, 524, 462, 293, 465, 502, 56, 
+   661, 821, 976, 991, 658, 869, 905, 758, 745, 193, 
+   768, 550, 608, 933, 378, 286, 215, 979, 792, 961, 
+   61, 688, 793, 644, 986, 403, 106, 366, 905, 644, 
+   372, 567, 466, 434, 645, 210, 389, 550, 919, 135, 
+   780, 773, 635, 389, 707, 100, 626, 958, 165, 504, 
+   920, 176, 193, 713, 857, 265, 203, 50, 668, 108, 
+   645, 990, 626, 197, 510, 357, 358, 850, 858, 364, 
+   936, 638
+};
+
+
+/*-------------------------------------------------------------*/
+/*--- end                                       randtable.c ---*/
+/*-------------------------------------------------------------*/
diff --git a/commands/bzip2-1.0.3/sample1.bz2 b/commands/bzip2-1.0.3/sample1.bz2
new file mode 100644 (file)
index 0000000..18dea60
Binary files /dev/null and b/commands/bzip2-1.0.3/sample1.bz2 differ
diff --git a/commands/bzip2-1.0.3/sample1.ref b/commands/bzip2-1.0.3/sample1.ref
new file mode 100644 (file)
index 0000000..a56e52b
Binary files /dev/null and b/commands/bzip2-1.0.3/sample1.ref differ
diff --git a/commands/bzip2-1.0.3/sample2.bz2 b/commands/bzip2-1.0.3/sample2.bz2
new file mode 100644 (file)
index 0000000..d5a6160
Binary files /dev/null and b/commands/bzip2-1.0.3/sample2.bz2 differ
diff --git a/commands/bzip2-1.0.3/sample2.ref b/commands/bzip2-1.0.3/sample2.ref
new file mode 100644 (file)
index 0000000..34af958
Binary files /dev/null and b/commands/bzip2-1.0.3/sample2.ref differ
diff --git a/commands/bzip2-1.0.3/sample3.bz2 b/commands/bzip2-1.0.3/sample3.bz2
new file mode 100644 (file)
index 0000000..d90cff9
Binary files /dev/null and b/commands/bzip2-1.0.3/sample3.bz2 differ
diff --git a/commands/bzip2-1.0.3/sample3.ref b/commands/bzip2-1.0.3/sample3.ref
new file mode 100644 (file)
index 0000000..775a2f6
--- /dev/null
@@ -0,0 +1,30007 @@
+This file is exceedingly boring.  If you find yourself
+reading it, please (1) take it from me that you can safely
+guess what the rest of the file says, and (2) seek professional
+help.
+
+ps.  there are no further sarcastic remarks in this file.
+
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
+ugh
diff --git a/commands/bzip2-1.0.3/spewG.c b/commands/bzip2-1.0.3/spewG.c
new file mode 100644 (file)
index 0000000..7934e76
--- /dev/null
@@ -0,0 +1,39 @@
+
+/* spew out a thoroughly gigantic file designed so that bzip2
+   can compress it reasonably rapidly.  This is to help test
+   support for large files (> 2GB) in a reasonable amount of time.
+   I suggest you use the undocumented --exponential option to
+   bzip2 when compressing the resulting file; this saves a bit of
+   time.  Note: *don't* bother with --exponential when compressing 
+   Real Files; it'll just waste a lot of CPU time :-)
+   (but is otherwise harmless).
+*/
+
+#define _FILE_OFFSET_BITS 64
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* The number of megabytes of junk to spew out (roughly) */
+#define MEGABYTES 5000
+
+#define N_BUF 1000000
+char buf[N_BUF];
+
+int main ( int argc, char** argv )
+{
+   int ii, kk, p;
+   srandom(1);
+   setbuffer ( stdout, buf, N_BUF );
+   for (kk = 0; kk < MEGABYTES * 515; kk+=3) {
+      p = 25+random()%50;
+      for (ii = 0; ii < p; ii++)
+         printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" );
+      for (ii = 0; ii < p-1; ii++)
+         printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" );
+      for (ii = 0; ii < p+1; ii++)
+         printf ( "ccccccccccccccccccccccccccccccccccccc" );
+   }
+   fflush(stdout);
+   return 0;
+}
diff --git a/commands/bzip2-1.0.3/unzcrash.c b/commands/bzip2-1.0.3/unzcrash.c
new file mode 100644 (file)
index 0000000..f0f17fc
--- /dev/null
@@ -0,0 +1,126 @@
+
+/* A test program written to test robustness to decompression of
+   corrupted data.  Usage is 
+       unzcrash filename
+   and the program will read the specified file, compress it (in memory),
+   and then repeatedly decompress it, each time with a different bit of
+   the compressed data inverted, so as to test all possible one-bit errors.
+   This should not cause any invalid memory accesses.  If it does, 
+   I want to know about it!
+
+   p.s.  As you can see from the above description, the process is
+   incredibly slow.  A file of size eg 5KB will cause it to run for
+   many hours.
+*/
+
+#include <stdio.h>
+#include <assert.h>
+#include "bzlib.h"
+
+#define M_BLOCK 1000000
+
+typedef unsigned char uchar;
+
+#define M_BLOCK_OUT (M_BLOCK + 1000000)
+uchar inbuf[M_BLOCK];
+uchar outbuf[M_BLOCK_OUT];
+uchar zbuf[M_BLOCK + 600 + (M_BLOCK / 100)];
+
+int nIn, nOut, nZ;
+
+static char *bzerrorstrings[] = {
+       "OK"
+      ,"SEQUENCE_ERROR"
+      ,"PARAM_ERROR"
+      ,"MEM_ERROR"
+      ,"DATA_ERROR"
+      ,"DATA_ERROR_MAGIC"
+      ,"IO_ERROR"
+      ,"UNEXPECTED_EOF"
+      ,"OUTBUFF_FULL"
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+      ,"???"   /* for future */
+};
+
+void flip_bit ( int bit )
+{
+   int byteno = bit / 8;
+   int bitno  = bit % 8;
+   uchar mask = 1 << bitno;
+   //fprintf ( stderr, "(byte %d  bit %d  mask %d)",
+   //          byteno, bitno, (int)mask );
+   zbuf[byteno] ^= mask;
+}
+
+int main ( int argc, char** argv )
+{
+   FILE* f;
+   int   r;
+   int   bit;
+   int   i;
+
+   if (argc != 2) {
+      fprintf ( stderr, "usage: unzcrash filename\n" );
+      return 1;
+   }
+
+   f = fopen ( argv[1], "r" );
+   if (!f) {
+      fprintf ( stderr, "unzcrash: can't open %s\n", argv[1] );
+      return 1;
+   }
+
+   nIn = fread ( inbuf, 1, M_BLOCK, f );
+   fprintf ( stderr, "%d bytes read\n", nIn );
+
+   nZ = M_BLOCK;
+   r = BZ2_bzBuffToBuffCompress (
+         zbuf, &nZ, inbuf, nIn, 9, 0, 30 );
+
+   assert (r == BZ_OK);
+   fprintf ( stderr, "%d after compression\n", nZ );
+
+   for (bit = 0; bit < nZ*8; bit++) {
+      fprintf ( stderr, "bit %d  ", bit );
+      flip_bit ( bit );
+      nOut = M_BLOCK_OUT;
+      r = BZ2_bzBuffToBuffDecompress (
+            outbuf, &nOut, zbuf, nZ, 0, 0 );
+      fprintf ( stderr, " %d  %s ", r, bzerrorstrings[-r] );
+
+      if (r != BZ_OK) {
+         fprintf ( stderr, "\n" );
+      } else {
+         if (nOut != nIn) {
+           fprintf(stderr, "nIn/nOut mismatch %d %d\n", nIn, nOut );
+           return 1;
+         } else {
+           for (i = 0; i < nOut; i++)
+             if (inbuf[i] != outbuf[i]) { 
+                fprintf(stderr, "mismatch at %d\n", i ); 
+                return 1; 
+           }
+           if (i == nOut) fprintf(stderr, "really ok!\n" );
+         }
+      }
+
+      flip_bit ( bit );
+   }
+
+#if 0
+   assert (nOut == nIn);
+   for (i = 0; i < nOut; i++) {
+     if (inbuf[i] != outbuf[i]) {
+        fprintf ( stderr, "difference at %d !\n", i );
+        return 1;
+     }
+   }
+#endif
+
+   fprintf ( stderr, "all ok\n" );
+   return 0;
+}
diff --git a/commands/bzip2-1.0.3/words0 b/commands/bzip2-1.0.3/words0
new file mode 100644 (file)
index 0000000..164a8ed
--- /dev/null
@@ -0,0 +1,5 @@
+
+If compilation produces errors, or a large number of warnings, 
+please read README.COMPILATION.PROBLEMS -- you might be able to
+adjust the flags in this Makefile to improve matters.
+
diff --git a/commands/bzip2-1.0.3/words1 b/commands/bzip2-1.0.3/words1
new file mode 100644 (file)
index 0000000..2e83de9
--- /dev/null
@@ -0,0 +1,4 @@
+
+Doing 6 tests (3 compress, 3 uncompress) ...
+If there's a problem, things might stop at this point.
diff --git a/commands/bzip2-1.0.3/words2 b/commands/bzip2-1.0.3/words2
new file mode 100644 (file)
index 0000000..203ee39
--- /dev/null
@@ -0,0 +1,5 @@
+
+Checking test results.  If any of the four "cmp"s which follow
+report any differences, something is wrong.  If you can't easily
+figure out what, please let me know (jseward@acm.org).
+
diff --git a/commands/bzip2-1.0.3/words3 b/commands/bzip2-1.0.3/words3
new file mode 100644 (file)
index 0000000..7a6b462
--- /dev/null
@@ -0,0 +1,23 @@
+
+If you got this far and the "cmp"s didn't complain, it looks
+like you're in business.  
+
+To install in /usr/bin, /usr/lib, /usr/man and /usr/include, type
+   make install
+To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type 
+   make install PREFIX=/xxx/yyy
+If you are (justifiably) paranoid and want to see what 'make install'
+is going to do, you can first do
+   make -n install                      or
+   make -n install PREFIX=/xxx/yyy      respectively.
+The -n instructs make to show the commands it would execute, but
+not actually execute them.
+
+Instructions for use are in the preformatted manual page, in the file
+bzip2.txt.  For more detailed documentation, read the full manual.  
+It is available in Postscript form (manual.ps), PDF form (manual.pdf),
+and HTML form (manual_toc.html).
+
+You can also do "bzip2 --help" to see some helpful information. 
+"bzip2 -L" displays the software license.
+
diff --git a/commands/bzip2-1.0.3/xmlproc.sh b/commands/bzip2-1.0.3/xmlproc.sh
new file mode 100755 (executable)
index 0000000..6fe4d57
--- /dev/null
@@ -0,0 +1,99 @@
+#!/bin/bash
+# see the README in this directory for usage etc.
+
+usage() {
+  echo '';
+  echo 'Usage: xmlproc.sh -[option] <filename.xml>';
+  echo 'Specify a target from:';
+  echo '-v      verify xml file conforms to dtd';
+  echo '-html   output in html format (single file)';
+  echo '-ps     output in postscript format';
+  echo '-pdf    output in pdf format';
+  exit;
+}
+
+if test $# -ne 2; then
+  usage
+fi
+# assign the variable for the output type
+action=$1; shift
+# assign the output filename
+xmlfile=$1; shift
+# and check user input it correct
+if !(test -f $xmlfile); then
+  echo "No such file: $xmlfile";
+  exit;
+fi
+# some other stuff we will use
+OUT=output
+xsl_fo=bz-fo.xsl
+xsl_html=bz-html.xsl
+
+basename=$xmlfile
+basename=${basename//'.xml'/''}
+
+fofile="${basename}.fo"
+htmlfile="${basename}.html"
+pdffile="${basename}.pdf"
+psfile="${basename}.ps"
+xmlfmtfile="${basename}.fmt"
+
+# first process the xmlfile with CDATA tags
+./format.pl $xmlfile $xmlfmtfile
+# so the shell knows where the catalogs live
+export XML_CATALOG_FILES=/etc/xml/catalog
+
+# post-processing tidy up
+cleanup() {
+  echo "Cleaning up: # $@" 
+  while [ $# != 0 ]
+  do
+    arg=$1; shift;
+    echo "  deleting $arg";
+    rm $arg
+  done
+}
+
+case $action in
+  -v)
+   flags='--noout --xinclude --noblanks --postvalid'
+   dtd='--dtdvalid http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'
+   xmllint $flags $dtd $xmlfmtfile 2> $OUT 
+   egrep 'error' $OUT 
+   rm $OUT
+  ;;
+
+  -html)
+   echo "Creating $htmlfile ..."
+   xsltproc --nonet --xinclude  -o $htmlfile $xsl_html $xmlfmtfile
+   cleanup $xmlfmtfile
+  ;;
+
+  -pdf)
+   echo "Creating $pdffile ..."
+   xsltproc --nonet --xinclude -o $fofile $xsl_fo $xmlfmtfile
+   pdfxmltex $fofile >$OUT </dev/null
+   pdfxmltex $fofile >$OUT </dev/null
+   pdfxmltex $fofile >$OUT </dev/null
+   cleanup $OUT $xmlfmtfile *.aux *.fo *.log *.out
+  ;;
+
+  -ps)
+   echo "Creating $psfile ..."
+   xsltproc --nonet --xinclude -o $fofile $xsl_fo $xmlfmtfile
+   pdfxmltex $fofile >$OUT </dev/null
+   pdfxmltex $fofile >$OUT </dev/null
+   pdfxmltex $fofile >$OUT </dev/null
+   pdftops $pdffile $psfile
+   cleanup $OUT $xmlfmtfile $pdffile *.aux *.fo *.log *.out
+#  passivetex is broken, so we can't go this route yet.
+#   xmltex $fofile >$OUT </dev/null
+#   xmltex $fofile >$OUT </dev/null
+#   xmltex $fofile >$OUT </dev/null
+#   dvips -R -q -o bzip-manual.ps *.dvi
+  ;;
+
+  *)
+  usage
+  ;;
+esac
index d9def7dda75506826f431191c5efc26e8eac3c75..e5b78ff9e771cb32f00ce4337aaaf541a597b0fb 100755 (executable)
@@ -86,19 +86,24 @@ echo -n "
 Keyboard type? [us-std] "; read keymap
 test -n "$keymap" && loadkeys "/usr/lib/keymaps/$keymap.map"
 
-echo -n "Welcome to Minix partitioning. Do you want to
+ok=""
+while [ $ok = "" ]
+do
+       echo -n "Welcome to Minix partitioning. Do you want to
 follow the (A)utomatic or the e(X)pert mode? Expert mode drops
 you into part to let you edit your partition table to taste.
 Automatic mode is much easier, but can't handle all cases. In
 cases it can't handle, it will tell you to use expert mode.
-Please choose, A for Automatic, or X for Expert: "
-
-read ch
-case "$ch" in
-[Aa]*) auto="1" ;;
-[Xx]*) auto="" ;;
-*)     echo "Unrecognized response."; exit 1;
-esac
+Please choose, A for Automatic, or X for Expert: [A] "
+
+       read ch
+       case "$ch" in
+       [Aa]*)  auto="1"; ok="yes"; ;;
+       '')     auto="1"; ok="yes"; ;;
+       [Xx]*)  auto="";  ok="yes"; ;;
+       *)      echo "Unrecognized response."; ok=""; ;;
+       esac
+done
 
 primary=