From: cowan@chdasic.sps.mot.com
Newsgroups: comp.windows.x.motif
Subject: How to load GIF images into buttons.
Keywords: Color, buttons, XPM, GIF
Date: 22 Jul 92 23:42:45 GMT
Reply-To: cowan@chdasic.sps.mot.com ()
Organization: Motorola, Inc., Semiconductor Products Sector


My thanks to the three or four folks who replied to my posting 'Subject: 
GIF images as button pixmap?'.  What follows are some notes on what I 
did to get a color GIF picture into a Motif drawn button.  I'm also 
attaching a shar file with an example.

First, what I already knew was that you can install your own images
to be used as Motif drawn button pixmaps.   The procedure to do this
is best described in the O'Reilly & Associates Volume Six 'Motif
Programming Manual* page 394.  But this book only decribes how to
do it for X Bitmaps, I needed to do it for a format that would 
support color.

I was pointed to 'xloadimage' source, (thx nazgul@alfalfa.com) which
contains just about anything you wanted to do to a picture: scale, 
dither, convert, etc.  But xloadimage is a bit obtuse, and way too
much overhead for what I needed.  I looked closely at the X Pixmap
loader in xloadimage, and how it created Ximages.  From that I was
able to come up with the following solution.

1)  Use Jef Poskanzer's pbmplus utilies to convert GIF file to XPM, you'll
    need 'ppmtoxpm' which I got off the net one day.  Hopefully this handy 
    program will be part of PBM soon.  If you can't find it, it came from 
    'mark@zok.uucp'.  (Or check the nearest archive site.)
    Note:  I first used 'xv' to reduce the number of colors used in
    the GIF image, and to scale the image down to a reasonable
    button size.
2)  Compile the xpm file right into the code.  (It supports the 
    #include directive just like x bitmap.)
3)  The xpm format tells you what colors are needed, go out and
    allocate them.
4)  Create an Ximage structure for your display/visual using
    'XCreateImage'.
5)  Load up the image structure data from the xpm data using the colors
    that were allocated.
6)  Load the image using XmInstallImage().
7)  Set the button widgets' XmNlabelPixmap resource using XtVaSetValues().

Piece O' cake, right?  Well, if you don't follow that description,
take a look at the example program I'm including.  Checkout the 
'LoadXPMasImage' function in colorbutton.c, it basically does steps 3
through 7.


        **                   /   \                   **
     ** **                  |     |                  **
     ** ** **                \___/                   ** **
     ********                                        ** **
      ******         __                  **          ****
        **        \_/oo\_/              ****         **
........**..........\||/................****.........**...........
Andy Cowan...........||...........andrew_cowan@chdasic.sps.mot.com

* Contact O'Reilly @ (800)338-6887


================= shar file below, cut here, run through 'sh -x' =================
#!/bin/sh
# This is a SHell ARchive(shar), meaning:
# 1. Remove everything above the #!/bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#
# List of Archived Files:
#
#      Makefile
#      main.c
#      colorbutton.c
#      andy.xpm
#
# This archive created: Wed Jul 22 16:41:24 MST 1992
#
echo "x - Makefile (437 characters)"
if [ -f "Makefile" ]
then echo "$0: will not over-write existing file 'Makefile'"
else
sed 's/^X\.//' <<\SHARC_EOF > Makefile
X.INC      = -I/usr/include/X11 -I/usr/include/X11R4 -I/usr/include/Motif1.1 -I.
X.DEFINES  = -DDEBUG -D_NO_PROTO
X.DEBUG    = -g
X.CFLAGS   = $(INC) $(DEFINES) $(DEBUG)
X.LIBPATHS = -L/usr/lib/X11 -L. -L/usr/lib/Motif1.1 -L/usr/lib/X11R4 
X.LIBS     = -lMrm -lXm -lXt -lX11 
X.
X.all: pic
X.
X.OBJS = main.o  colorbutton.o
X.SOURCE = $(OBJS:.o=.c) 
X.
X.HDRS = andy.xpm
X.
X.pic: $(HDRS) $(OBJS) 
X.	$(CC) $(OBJS) $(CFLAGS) -o pic $(LIBPATHS) $(LIBS)
X.	chmod 755  pic
X.
SHARC_EOF
if [ 437 -ne `wc -c < Makefile` ]
then echo "$0: transmit error 'Makefile' (should have been 437 chars)"
fi
fi # end of overwriting check
echo "x - main.c (2005 characters)"
if [ -f "main.c" ]
then echo "$0: will not over-write existing file 'main.c'"
else
sed 's/^X\.//' <<\SHARC_EOF > main.c
X./* No warranty, express or implied.
X.**
X.** 'For God's sake man, its public domain!' -Andy Cowan
X.*/
X.
X.#include <stdio.h>
X.#include <Xm/Xm.h>
X.#include <Xm/MainW.h>
X.#include <Xm/DrawnB.h>
X.#include <Xm/Form.h>
X.
X.#include "andy.xpm"
X.
X.static void     activateCB_drawnButton( Wid, ClientData, CallbackArg )
X.Widget          Wid;
X.XtPointer       ClientData, CallbackArg;
X.{
X.    XtDestroyWidget( Wid );
X.}
X.
X./*-------------------------------------------------------------
X.**	main - creates a motif top level shell that contains a
X.**             form and two drawn buttons.
X.**
X.**   Kill it from the shell with ctrl-c, or kill command.  There's
X.**   no exit.
X.*/
X.
X.Window  win;
X.Display *display;
X.Widget	main_appshell;	/*  ApplicationShell	*/
X.XtAppContext	main_app_context;
X.
X.int main (argc,argv) 
X.unsigned int	argc;
X.char 	      **argv;
X.{
X.   Widget form, drawnButton, drawnButton2;
X.   int rc;
X.
X.   /*
X.   **  Initialize toolkit and open the display.
X.   */
X.   main_appshell = XtAppInitialize(&main_app_context, "test", NULL, 0,
X.	&argc, argv, NULL, NULL, 0);
X.   display = XtDisplay( main_appshell );
X.   win = RootWindow( display, DefaultScreen( display ) );
X.
X.   form = XtVaCreateManagedWidget( "testform", 
X.	xmFormWidgetClass, main_appshell,
X.	NULL );
X.   drawnButton = XtVaCreateManagedWidget( "drawnButton",
X.	xmDrawnButtonWidgetClass, form,
X.	XmNlabelType, XmPIXMAP,
X.	XmNheight, 50,
X.	XmNwidth,  50,
X.        XmNrecomputeSize, TRUE,
X.	NULL );
X.   XtAddCallback(drawnButton, XmNactivateCallback, activateCB_drawnButton, NULL );
X.
X.   rc =  LoadXPMasImage( drawnButton,
X.			 andy_width,
X.			 andy_height,
X.			 andy_ncolors,
X.			 andy_chars_per_pixel,
X.			 andy_colors,
X.			 andy_pixels );
X.   if ( rc ){
X.      /* Image load failed */
X.      XtVaSetValues( drawnButton, 
X.	   XtVaTypedArg, XmNlabelPixmap, XmRString, "default.icon", strlen("default.icon") + 1,
X.	   NULL );
X.   }
X.
X.   XtRealizeWidget (main_appshell);
X.
X.   /*	Get and dispatch events.
X.   */
X.   XtAppMainLoop (main_app_context);
X.
X.   exit(0);
X.   return(0);  /* So lint won't complain */
X.
X.}
X.
SHARC_EOF
if [ 2005 -ne `wc -c < main.c` ]
then echo "$0: transmit error 'main.c' (should have been 2005 chars)"
fi
fi # end of overwriting check
echo "x - colorbutton.c (7055 characters)"
if [ -f "colorbutton.c" ]
then echo "$0: will not over-write existing file 'colorbutton.c'"
else
sed 's/^X\.//' <<\SHARC_EOF > colorbutton.c
X./* No warranty, express or implied.  
X.**
X.** 'For God's sake man, its public domain!' -Andy Cowan
X.*/
X.
X.#include <stdio.h>
X.#include <Xm/Xm.h>
X.
X.#define MAX_HEIGHT 1024		/* 1K should suffice as max image height */
X.#define MAX_WIDTH  1024		/* 1K should suffice as max image width */
X.#define MAX_NUMCOLORS 256       /* We're only supporting 8 bit plane, pseudo color */
X.#define MAX_CODELEN 20		/* Will probably never be more than 2 */
X.#define MAX_IMAGES 20           
X.
X.extern Display *display;        /* Most folks define it global.  I do. */
X.
X.struct XPM_image{
X.   Pixel  *data;
X.   XImage *image;
X.   char   name[25];
X.} XPM_Images[ MAX_IMAGES ];     /* A table of allocated images.  So I can */
X.static int NumImagesLoaded = 0; /* keep a list of ptrs to malloc'd memory */
X.
X.struct XPM_Decoder_Ring{
X.   char  code[MAX_CODELEN];
X.   Pixel color;
X.} XPM_Color_Decoder[ MAX_NUMCOLORS ];  /* Translation table for color codes */
X.
X.Pixel decode_color();  /* Finds color codes and returns their pixel value */
X.void  free_image();    /* Destroy callback function that frees the image  */
X.		       /* and mallod'd memory.                            */
X.
X./*
X.*************************************************************
X.** LoadXPMasImage -  Load an XPM format data as an X image and
X.**	set the pixmap resource of a drawn button widget to the loaded image.
X.**
X.**	Also sets the widgets context data, and installs a destroy callback 
X.**      so the image and malloc'ed data is freed when the widget is destroyed.
X.**
X.**   Returns:
X.**	0   If success:  colors were allocated, image was 
X.**             loaded, button pixmap resource was set, data was
X.**             allocated, and  callback was set.
X.**	1   If unsuccess:  image could not be loaded.  Usually,
X.**             because color allocation failed.
X.**
X.**  Return codes could be more robust, but this is an example after all.
X.*************************************************************
X.*/
X.
X.int LoadXPMasImage ( button, 			/* drawn button widget handle     */
X.		     xpm_width,                 /* Rest of the function args are  */
X.		     xpm_height,                /* from the XPM data file.        */
X.		     xpm_ncolors, 
X.		     xpm_chars_per_pixel,
X.		     xpm_colors,
X.		     xpm_pixels )
X.Widget button;
X.int    xpm_width, xpm_height, xpm_ncolors, xpm_chars_per_pixel;
X.char   *xpm_colors[],
X.       *xpm_pixels[];
X.{
X.   int		x, y, n, i;
X.   XColor 	xcolor;
X.   char         code[ 20 ];
X.   int          depth;
X.
X.   /* Some sanity checks... */
X.   if ( xpm_width > MAX_WIDTH ) return( 1 );
X.   if ( xpm_height > MAX_HEIGHT ) return( 1 );
X.   if ( xpm_ncolors > MAX_NUMCOLORS ) return( 1 );
X.   if ( xpm_ncolors > MAX_NUMCOLORS ) return( 1 );
X.   if ( NumImagesLoaded == MAX_IMAGES ) return( 1 );
X.
X.   /* Load up the decoder ring... */
X.   /* Load color codes into a table, put allocated pixel values into another. */
X.   for ( n=x=0; x < ( xpm_ncolors * 2 ); x += 2, n++ ){
X.#ifdef DEBUG
X.       printf ( "code = %s color = %s\n", xpm_colors[x], xpm_colors[x+1] ); 
X.#endif
X.       strcpy( XPM_Color_Decoder[ n ].code, xpm_colors[x] );
X.       if (! XParseColor( display, DefaultColormap(display, DefaultScreen(display)),xpm_colors[x+1], &xcolor )) {
X.	  printf("Could not parse color: %s \n", xpm_colors[x + 1] );
X.	  exit(1);
X.       }else{
X.	  if ( XAllocColor( display, DefaultColormap(display, DefaultScreen(display)), &xcolor )){
X.	      XPM_Color_Decoder[ n ].color = xcolor.pixel;
X.#ifdef DEBUG
X.	     printf ( "%2d) color %x == pixel %x\n", n, xpm_colors[x+1], XPM_Color_Decoder[ n ].color );
X.#endif
X.          }else{
X.	     /* Could not allocate color.  When using shared colors, this means there are no
X.	     ** more available entries in the colormap.  I'm not going to allocate a seperate
X.	     ** colormap, or try to reduce colors, so might as well bail.
X.	     */
X.	     printf( "Not enough colors available.  Color failure after %d of %d had been allocated.\n", 
X.		     n, xpm_ncolors );
X.	     return( 1 );
X.	  }
X.       }
X.   }
X.
X.   depth = DisplayPlanes( display, DefaultScreen(display));
X.   /* 
X.   ** We should bail now, if visual can't support the image, or
X.   ** convert the image into an XYbitmap or XYPixmap format.
X.   ** I tried this on a b&w NCD and got an ugly (garbage) picture
X.   ** but no Xerrors or core dump.
X.   */
X.   XPM_Images[NumImagesLoaded].image = XCreateImage( display,
X.	 DefaultVisual(display, DefaultScreen(display)),
X.	 depth,
X.	 ZPixmap,
X.	 0,
X.	 NULL,
X.	 xpm_width,
X.	 xpm_height,
X.	 8,
X.	 xpm_width * xpm_chars_per_pixel );
X.   XPM_Images[NumImagesLoaded].data = (Pixel *)malloc( xpm_width * xpm_height );
X.   XPM_Images[NumImagesLoaded].image->byte_order= MSBFirst; /* trust me, i know what i'm talking about */
X.							    /* Note:  the previous comment is a direct 
X.							    ** quote from the xloadimage source.  It does
X.							    ** work, though.
X.							    **           -cowan@chdasic.sps.mot.com
X.							    */
X.   XPM_Images[NumImagesLoaded].image->data=(char *)XPM_Images[NumImagesLoaded].data;
X.
X.   /* Load image->data */
X.   bzero( code, sizeof( code ) );
X.   for ( i=x=0; x < xpm_height; x++ ){
X.       for ( y=0; y < xpm_width; y += xpm_chars_per_pixel ){
X.	   strncpy( code, &xpm_pixels[x][y], xpm_chars_per_pixel );
X.	   XPM_Images[NumImagesLoaded].image->data[i++] = decode_color( code, xpm_ncolors );
X.       }
X.   }
X.
X.   /* Making up a name for the image (might want to have calling function pass this). */
X.   sprintf( XPM_Images[NumImagesLoaded].name, "xpm_image%d.image", NumImagesLoaded );
X.   if ( XmInstallImage( XPM_Images[NumImagesLoaded].image, XPM_Images[NumImagesLoaded].name ) ){
X.      XtVaSetValues( button, 
X.         XtVaTypedArg, XmNlabelPixmap, XmRString, 
X.	      XPM_Images[NumImagesLoaded].name, strlen(XPM_Images[NumImagesLoaded].name)+1,
X.         NULL );
X.      /* Add free_image() to widgets' destroy callback list. */
X.      XtAddCallback( button, XmNdestroyCallback, free_image, &XPM_Images[NumImagesLoaded] );
X.      NumImagesLoaded++;
X.      return(0);  /* Zero is success */
X.   }else{
X.      printf( "IXmInstallImage failed: on image %s\n", XPM_Images[NumImagesLoaded].name );
X.      free( XPM_Images[NumImagesLoaded].data );
X.      return(1);  /* Failure */
X.   }
X.}
X.
X.
X.Pixel decode_color( str_to_find, numcolors )
X.char  *str_to_find;
X.int   numcolors;
X.{
X.   register int x, y;
X.
X.   for ( x = 0; x < numcolors; x++ ){
X.       if ( ! strcmp( str_to_find, XPM_Color_Decoder[ x ].code )){
X.	  return( XPM_Color_Decoder[x].color );
X.       }
X.   }
X.
X.   printf( "Corrupted image data: contained invalid color code: %s\n", str_to_find );
X.   exit( 1 );
X.}
X.
X.void free_image( Wid, ClientData, CallbackArg )
X.	Widget          Wid;
X.	XtPointer       ClientData, CallbackArg;
X.{
X.   struct XPM_image *xpmstruct;
X.
X.   xpmstruct = (struct XPM_image *)ClientData;
X.
X.#ifdef DEBUG
X.   printf( "Releasing image '%s' and its associated data.\n", xpmstruct->name );
X.#endif
X.   free( xpmstruct->data );
X.   xpmstruct->image->data = NULL;
X.   XDestroyImage( xpmstruct->image );
X.   xpmstruct->image = NULL;
X.   /* Not decrementing the NumImagesLoaded counter because we are
X.   ** not 'reusing' destroyed structures. (But maybe we should.)
X.   */
X.
X.}
SHARC_EOF
if [ 7055 -ne `wc -c < colorbutton.c` ]
then echo "$0: transmit error 'colorbutton.c' (should have been 7055 chars)"
fi
fi # end of overwriting check
echo "x - andy.xpm (45339 characters)"
if [ -f "andy.xpm" ]
then echo "$0: will not over-write existing file 'andy.xpm'"
else
sed 's/^X\.//' <<\SHARC_EOF > andy.xpm
X./*
X.** This is me, Andy Cowan.
X.**
X.** (No, I don't always dress like this.  I'm actually quite normal.)
X.**
X.*/
X.#define andy_format 1
X.#define andy_width  197
X.#define andy_height 222
X.#define andy_ncolors 22
X.#define andy_chars_per_pixel 1
X.static char *andy_colors[] = {
X.   "`", "#707070",
X.   "a", "#8B8B8B",
X.   "b", "#171717",
X.   "c", "#4D4D4D",
X.   "d", "#2A2A2A",
X.   "e", "#B9B9B9",
X.   "f", "#7F7F7F",
X.   "g", "#B1B1B1",
X.   "h", "#929292",
X.   "i", "#585858",
X.   "j", "#676767",
X.   "k", "#828282",
X.   "l", "#9D9D9D",
X.   "m", "#5B5B5B",
X.   "n", "#212121",
X.   "o", "#3C3C3C",
X.   "p", "#A4A4A4",
X.   "q", "#434343",
X.   "r", "#333333",
X.   "s", "#C2C2C2",
X.   "t", "#BABABA",
X.   "u", "#787878"
X.};
X.static char *andy_pixels[] = {
X."eetteeeeeeeeeeegeggglkjmmjmcoocmocuaffkkfirnnnddddndnnnddoqcciiiiiicodqqdndddnddddrocimmmmiciicqdddo`pgeeeeeeegpakakkhpphkkahhhku`khpla`orddddiageeeeeeeeeeeeepamodrijjicmapgph`j```fhpa``miufkfkakf`",
X."eeeeeeegegeeeegegegphumimmiqoqmjcifkfuff`qnnnndddddnnnndrrqiciiiiiiiodocqrddddnnnnrqmj```jjmiiiqdnnrihgeeeeeeegghkfffhpphaahllhku`fahplfcrddddcapeeegegeeeeegpljordoccimcualpph`jmjfhpphumjmjufffakfu",
X."eeeegeegppgegegggpphfmiqmjcoqijmiijjj`u`idnnbnndddndnnndoocciiimmmmiqrdqqqqoddddnnrmufkkkfujmimmcdnnqulggegegeggpau`fhgglaahlplafuuklggajodddrmhggeeeeeeeeeggpkcdrrccccmi`allhkjjjjklpphuccjjj`ffkkak",
X."eeeeeggpllpggegppplkumci`umqiiiccqooocmjonnbnnndddnnnndroccimiimmmmiioroqcicqordnnomfkaakkk`jmjjmqrrcjkpggegeegeepakklggglhhppphffapggggkmoromagegeeeeeegeggpajrroociij`jjfkf`mmjm`hlppajqoim``fuukha",
X."egeegghllhppgplllhhakujjuu`mmiciiiorddqodnbbbnndndnnnndoqcimmiiimmimicqqccciiiqrnnncukhhaakf```u`jmmj``apggegeeeeegpggeeephhlpllahgeeeegpa`jflggegeeeteeeggpajodroocmiiuuuuf`jmjjmmkllpkioqcjfaf`fahk",
X."eggeephahlpllhaaaahhlakfuujjiiciccqcorconnbbnnddnnnbndroqcimmmimmmmimiicciiiiiiqdnno`faaaffu``uffujjjjukpgegeeeeeegeeeeeephahpppgggeeeeeegllgggeeeeeeeeeglkucodddroi`mimjmjjj`uuujm`ahlkicqcmkfufahau",
X."eeeeeglahllhhkfffkahhaku``jicciiqrrqcmjonnbnnnddnnbnndoqqiimmmmmmjmmmiiiiciimiiiqrdqjuu```jmmm`uffummjuhgggeeeeeeeeeeeeeeglahpegeeeeeetteegpgeeeeeeeeegegkcrddddrromufffffuujjjuuuuufaaucqqocjufalau`",
X."egeeeggpplaakuj``uffkkf``micccicrdroiuuqnnbbnnnnnnbbnrqqqiiiimmmmmmmmmmmimmmmmiiiqrocqorrrrrrrocm`u`mimapggegegeeeeeeeegegglpgeeeeeeeeeeeegggeeeeeeeeeggpuodddrroc`fkaaaaaaaakfu`juuu`jcooqoqmfhlafuf",
X."eeeeeegeghaafjicimj``jmmmiqciicqcrocukfidnnbnnnnnbbnnroqciiiiimmmmmmmmmmmmmmmjmmicrndnnnnnnnnnnddq``ioq`hgpeegeegeeeeeeeeeggeeeeeeeeeeetteegegeeeeeeggggljordqciqjfahhhaaaaahhaafuj`u`mcoooqmfalaf`kh",
X."egegegegplhaujqooqqcqqcccqqiicoijcqjkkkfinnnnnnnbbbnnrqqcimmmmmmimmmmmmmmmmmmmmmicrnnnnnnnnnnnnnndocorocflgggeeeeeeeeeeggplggeeeeeegeeettteeggeeeeteglhaa`coroiijufahhhhhhhhhhhaaakku``jcqqmkhlau`khh",
X."gegeggpllllafjqrdddrdndoqcijmqojumjkhhla`qnnnnnnbnbnnooqiiimmiiiimimmjmmjmmmiimmiqdnnnnnnnnnnnnnnnndrrooiflggegeeettteeglaahpgeeeeeeeeettttegegeeeeelu`uffjqrroi`fkaaaahaahhlhhhhhaak``mij`khlauukhaf",
X."ggggplaalplhk`crdnnnnndoqm``mcc`ffalppllk`odnnnbnbnndooqccimmiimmmmmmmjjmjmicciiconnnnnnnnnnnnnnnnnnddrddckpegeeeeeeeegpakakhgeegeeeetttttteegegeegpaj`ukafirrriukaaaaahlhhhlhlhhhhakfjjj`khphfufhhfc",
X."ppglhffalpppla`qrnnnndomjufkfuj`kalppgplhfmrdnbnbnnndroqiiimmimmmmjmmjmmjmmqcccionnnnnnbnnnnnnnnnnnnndddnrjhggggeeegeegghkaaahgeeeetetttttteegggggghumufahkuccm`klhhhhaahhhhhahhaaahakuufkhlhf`khhfqd",
X."lphku`khppgplhk`crddoijkahlpphakahhlppgpla`qnnnbnnnnrrrqicmmmmmmmmmmjmjmmmmccccqrnnnnbnnnnnnnnnnnnnnnnnnnnckpggegegegeggpauffhgeeettttteetttepplplkummfahhhakkaahlplllhhhaaaahhaaahhaakkallhf`khhucdn",
X."ak`jm`ahppgpllakfioi`fkallpggphhhahhgppglhfqnnbnnnnddrrqiiiiiiimmmjmmjmmiiicccqonnnbnnbnnnnnnnnnnnnnnnnnnnrmapegegeeeeeggaujuapeeettttteeeeegpkfujmjj`falhhhhlhhhllllllhhaaaaaaahplhhaahllhfufhhfcdnd",
X."cqoqifhpgpggpplaaf`kakkahpgpgplhaaaappgpplfqnnbnnnndrrrcciiiiiimjmmmmmmmiiiccqonnnbnbnnbnnbnnnnnnnnnnnnnnnnq`apggeegeeeegpakkleeeetetttegeeeggkmcqcm`ufallllhhlhhhlhlllhhaaakakahlllhaallhfufhhkjqrdd",
X."ddrocflppggggpplauuahakahpppplakfkaalppglhfrnnnnnnddrdrcciciciimmmjmmmiiciccqodnnnnbnbnnnnnbnnnnnnnnnnnnnndom`agggeggegeggggggeeeeeeeteegggggpairooqjukallahlhhlhhhllllhhhhaahhahhlhahllhfuklhkmm`ior",
X."ddromkhpgpepplllk`ukakkkahlllhku`ffklpgppl`rnbnnnnddddociciciiiiiiiiccccqqqqqonnnbnnnnbnbnnnnnnnnnnnnnnbndrdi`flggegegeggegeeeeeeeeeetteellpph`rdddojfaahhhllllhhhhhlllhhhaahhhhhhaahllhfukhlkjicjujq",
X."ddrqjkhppgpplahlhakaakuu`ufkak`mimmuhppgpl`nnnnnndndrdocciiccimcqqoqqqqqqooordnnnnbnbnnnnnnnnnnnnnnnnnnnnnroiuflgggegegeeeeeeeeeeeeeetteglfaa`cordqmukhhhhhllllhhaahhlhhhhahhakhhaahlphfukhhkjqmjmuk`",
X."ndrc`khlppplkfklpppplafjcqcmujcoroc`appglh`dnnndddddddqciiiiiiicqorrrrooorrddnnnbnbnnnnbnnnnnnnnnnnnnnnnnndqcimapggggggeeeeeeeeeeeeeeeeeelakjcmmmmjuufahahhllllhhhhhaahaaaaaakaaaahllhfukhha`cqijfffk",
X."dnrc`kalpplk``klggggggpaucociqrdrcmfhppplh`dnnnddddddrocccciimicqorrrdddddddnnbnbnnbnnnnbnnnnnnnnnnnnnnnnnnnrrq`hppggeegeeeeeeeeeetteeeegphucifkkffkaaahaahhhllhhhhhlhakkkakaaahaallafukhlk`ccimmukkk",
X."nddqjfahplhfmmfhpggegggplk`iccqqijfappppllurnnddddddddoqcciiiiicqqorrdddnnnnnbnbnbnnbnnnnnnnnnnnnnnnnnnnnnnnnrocuhpgggeeeeegegeeeeeeeeegglauqikhakffaaaakkaaahhhaahlhhakkkkaaaaaalphf`fhlkjmcrom`j`kf",
X."nddqjfahhhkuic`hpgggggggllkf`u``uufalpppplfondndndddndrqccciiicccqordddnnnnnnnbnbnnnnnnnnnnnnnnnnnnnnnnnnnnnndrrcuhpggggeeeegeeeegeeeeeegla`cjkhaakkhhakaakkhhlahahhhakkkkaaaaaallhf`fahkmqcqdrqmuufk",
X."nddomukhhaak`mjklpggggppplhaakkf`ukahlppplkcddddndddddrqiiiiicccccqorrddnnnbbnbnbbnbnnnnnnnnnnnnnnnnnnnnnnnnnndddojapgegeeegegeeegeeeeegpha`i`ahhakhhhaaaafkaaaahhhhhaakfkkaahhlplf`fahkmoordrocuahaf",
X."nnndc`kaakaakffahppggppppphaakkuukahlhhlllaidnndndddddrqciiiiiccccqqoordnnnbnbnbnbnnbnnbnbnnnnnnnnnnnnnnnbnnnnnnndr`hgggggeggegeeeeeeggghkffufalhakhahhaaaaaaahhahhlhaakkfkahalppaufalkmroqodoq`klpla",
X."nnndojffffakkallppgpppllhhaakffukahllplhhakiddddndddddrciiiiiccccqqqorrdnnbnbnbnbnbnnbnnnnnnnnnnnnnnnnnnnnbnnnnnddqmuapggggggeeeggggegghkkffkhhlhaaaaaaaaahaaahhaahlhaffffkkkapphkkaafmqqoqqqoifhlllh",
X."nnnndcuffffufappgggggplakkfffu`uffkhppplaakjrdndnnddddrciimiccqcqqqoooodnbnbbbnbnbnnnnnnbnnbnnnnnnnnnnbnbnnnnnndocjmcuhpgggggeeeegeggepakakkklpphaaaaaaahaahahhaaahaakffkkkmiuaakahhucocjmqcmmiuhllha",
X."nnnndrmuff`jualpggggegplafu`jmjmjjuhppgplak`odddddddndocimiicccqcqcccconnbbnbnbnbnbnbnbnnbnnbnnnnnnbnnnnnnbnnnndmfkuic`klgggeeeeegegegghaafufhpghhhhhaaaaahhhhhaaaakkfufaaucm``ufahfiroij`mcju``ahhau",
X."nnndndqjujoqmfalpggggggplhkujjjjjukppppglaf`odndnddnddocmiicccqccccicqdnbnbbnbnbnbnbnbnbnbbnnnnbnbnnbnnnnnnnnnnnifakumc`apgggegeeegeeggpakuj`aggpllhaakaahhhahhaaakkfufaaf`jffumjkfmqccim```mm`ufkkuc",
X."nnnnndrcjcddojkhppggpgpgphhafffufalppgpphumirdnnddndndociccicqccciiicrnbnbnbnbnbnbnbnbnbnnnbbnbnnnnnnnbnnnnnbnnnouaaf``uapggeeggegeeeeeghf`mulpgegplakakaaaahhhakkfffukaf`jfkaajqimimjjmjj`fuj`uu`iqr",
X."nnnnnddricddrojkhplpplpplhakkuufalppppplfjiqoddndddnddoccccccqccciccqnnbbnbnbnbnbnbnbnnnbnbnndnnbnbnnnnnnnbnnnnnrjaaa`i`fapgggegggeegeggpauuapggeggplaaaahhhhhhaaffuukafj`ukhhha`ciju`u`j``ffujm`jiod",
X."nnnnnnddoiooooqm`fkhllllhakfuuufhppppplaf`jjcdddnnndndoiciiccccccccqdnbnbbbbnbbbbbnbnbnnnbnnbdnnnbnnbnbnbnnnbnnnncfkfjroimkpggggggeeeeggppllpggegeegplhahhhlhhaakfffkkum`ukhhhlhaffkafuuuufkkkujqcqdn",
X."nnnnnnnddcqooqqcqccjflpphaffuuukhppgpphu`uu`idndndnnddoccccqcqqqqqqrnnbbnbbbbnbnbnbnbnnnnnnnnnnbnnbnbnbnnbnbnbnnndciqcoddrmkllpggggegggppgpgpgggegeggphhhlllllhaakfkauj`fkahallhhakllk`ukakkffujqrdnn",
X."nnnnnnnndrrrrqqooqqiflgpphkkfffappppglkjiimmqdndnnnnndrqqqqooorrrrrnnbbnbbbnbbnbnnnnndooqqdnndnnnnnnnbnbnnbnbnnnnnddriiodnri`klpggggggpgpgpgpggeggggplhllllllhhhaaaafm`ufkhhahhhafukhku`fkkfu`jqrdnnn",
X."nnnnnnnnnnddoqoooooiflpgppllhaalppgppluiqoqodnnnnnnnnnnnnnnnnnnnnnnnbnbnbnbbnnnndrnnnoqcmmqdddndoornnnbnnbnbnbnnnnnnociqdnnnrmkhlllpplpppgppggggggpphhhhhlllhlllhhhk`ufffhplhaaafjmjukkuufuu`irdnnndn",
X."nnnnnnnnnnnrrqoooqqcuhppgpgplhhpgpppplkmqrdnnnbnbbbbbbbbnbbbnbnbnbnbnbbbbbnbbnnnnnnnnndroodnnnnndddnnnnnnnbnnnbnbnnnnndnnnnnnrqmmj`fkahllllllpgpppphlllhlhhllllllplaffffhpgpphafjiimjaafuujmqdnnddrrd",
X."nbnbnbnnnnnroooqccccjkhllppppllppppplhkmrnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbbnbnbbnbnnnnnbnbnnnnbnnnbbbnbbbnbnbnbnnnnbnnnnnnnnddroijfkkaaahhhhhhhhlllllllllllppplhhahpgpphaf`immjkhaf`miodddroqqod",
X."nnnbnbnbnnndoqqqrddrcj`fahllllllpphaakmrnbbbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnnnnnnnndrcmukkaahhahhhhlhlplppplllpppppplppplku`iimjkhhf`codddrqcciqod",
X."nbbnbnbnbndrooddnnnroooqjukkaahhllfjjidnbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbbbbbbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbnbnbnbbbbnbbbbbbnbnnnnndc`faaahhhhhhlhlllppplllllllpgppplhafjcijkaakjornddqciiicqrn",
X."nnbbbbnbnndodnnnnnddddnnrijufkkaaa`codnbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbnbnbnbnbnbnnnnnrmfaaahahhhhlhhlllllpppppplpgppplhkuimkhhkjodndrqcimmicodn",
X."nbnbnbbnbnrdnnnnndddnnnnndoqjuffkfjqdnnbbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbbbbbbbbbbbbbbnbbnbbbbnbbbnbbbbbbnbnbnbnbnnnrmfkaahhhhhlllllllllppggpgppgppplhkffaha`odndrqcciimiqrnn",
X."nnbnbbbbnnnnnnnnndnnnnnnnrqijfakku`cnnbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbnbnbbbbnbnbnbnnnnndjkaahhhhhlllllllllpppgppgpppgpllhaaaafqnnndoqcciiiqonnn",
X."nbnbnbnbnnnnnnnndnnnnbndi`kahllhkfumnnbbbbbbbbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbbbbbbbbbbbbnbbbbbbbbbbbbbbnbbbbbnbbbbnbbbbnbnbnbnbnnnr`ahhlhlllpllllpppppgpgpgpgpppllhlhhafqdnnroqcccccqdnnn",
X."nbnbbbbnnnbnbnnnnnnnnndmkhlppplhkffinnbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbbbbbbbnbbbbbbbbbbnbbbbnbnbbnbnbnbnbnnnqfhlllplppllppplplppppgpppppllllllhaa`onnrqcqcicqrnnnn",
X."nbbnbbbbnbnnnndnnnnbnr`alppllhahhhainnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbbbbnbbbbnbbbnbbnbbbbnbbnbnbbbbnbbbbnbnbnbnndjalppppppllllpllppppppgppplllhlllhhhkinddoqcqccodnnnn",
X."nbbbnbnbnnnnnnnnnbnno`hpppplkufhllamnbnbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbnbbnbbbbbnbbbbbbnbbbbbbbbbbnbbbbnbbbbnbnbbnbnbbnbnbnnnnqkllpppgpplpplllpppppgpglplllhaahlhhajrnroqqccornnnnd",
X."nbnbbbbnbnnnnnnnbnnquhppgpphf`uhplamnnbbbbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbnbbbnbnbbbbnbbbbbnbbnbbbnbbbbbbbbbbbbbbbnbnbbnbbbbbbnbnbnbnbnnd`alpppppllpppllpppppggppppllaakahaaa`rndoqqcqoddnndn",
X."nnbnbnbnbbnnnnnbnnquhppgpgphfuklpph`nnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbnbbbnbnbnbnbnbbnbbnbnbbnbbbbnbbbbnbnbbbbnbbbnbbnbbbbnbnbnnnnialhppppgpppppllppppppgpppplaku`fufumrddoqqqordddnnn",
X."bnbnbbbbnbnnnbnnnquhpppgppplaalpppludnbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbnbnbnnbnnnnnnnnnnnnnnnnnnbnbbnbbnbbbbbbnbbbbnbnbbnbbbnbbnbnbnbnbnbnnokllllpppppppgppppppgpgpppllaucqciiiqonrroqordddndnn",
X."bbbbnbnbbbbbbnbncfhppgppggplaahlpplfonbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnnnddrrooqccciimmiiccqorddnnnbnbbnbbnbbbbbbbbbbnbbbnbbnbbnbnbnbnbnnnruhppppppppppppppppppgpppplhakirrrrrqoddrrrnddddnnnn",
X."nbbbbbbbbnbbbnnifhppgpgpgpph``alpphacnbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnnndocimjjufffkkaaaahaakkkf``jiodnnbnbbbbbbbbbbbbnbbbbbbbbbnbbbbnbnbnbnnd`hlppppppppppppppppppgpllhhaa`oddrocqdrrdnnnnddnnnn",
X."bnbbnbbbbbnbnncualgpgpggpgpa`jklplhkmnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnndocij`uffkalhllppppppplhhhaakfu`irnnbnbnbbnbbnbnbbbnbbbbbbbbnbnbbnbnbnnnnjahllppppppppppppppppplllhhaakjooqiioddddnnndddnnnn",
X."nbbbbbnbbbbnnri`kppgggpgggphakhllhakjdnbbbbbbnbbbbbbbbbbbbbbbbbbbbnbbbnndqimj`ufkahhlplppgppppplhhaaaakff`iqnnbnbbbbnbbnbbnbbbbnbnbbbbnbnbnbnbnbnnmahhlllllplpppppplllppplhhhhhaf`jmmcrdddnnnnddddnnn",
X."bbnbbbbnbnnnroomfhpggpgggppplhhhakkumrnbnbbbbbbbbbbbbbbbbbbbbbbbbbbbnbnndrqcqcijukahlpllppgpplhafu``uuu`u``mqdnbnbnbbnbbbbbbnbbbnbnbnbbnbnbbbnbnnnikahhhlhhlllppplllhllplhhhhaaakfffucrddnnnnndrrndnd",
X."nnbnbnbbnnocmcqiuapgpgpgpgpplhakkf`mirnbbbbbnbbbbbbbbbbbbbbbbbbbbbbbbnnnddrrroooijfkhlllppplhaaujmmjj```mj`jiqdnnbbnbbbnbbnbbnbnbbbbbnbbnbnbnbnbnnikaahhllhhllplllpplllplhaakkkaakahhfirdnnnnndrrdndd",
X."nnnnnbnnnq`jmcqiuhpgppgpgpplhakf`jmiornbnbbbbnbbbbbbnbbbbbbbbbbbbbnbnnnndrcmjmiqqcjfkhhlpplhhkku``ufkkfu``jjjmcdnnbbbnbbnbbnbbbbnbnbnbnbbnbbbnbnnnifkaahhlhllppppppppllllhakfukkkkkhlajrdnnnnddrrddnd",
X."iiqorrdooqmumqcjuhppgppgpplhakf`jmcordnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbnnndoij```jiqocjkallpgplakujj``ufkkkff`u``monnbnbnbbbnbbnbnbbbbbbnbnbnbnbnbbnnqjufkhaahllpppgpgpppppllaafufkkffkhfqdnnnnndrorddnd",
X."haaaku`jiccj`mj`uhgpppppplhaku`micrrdnnbnbbbbbbbbbbbbbbbbbbbbbbbbnbnnndocicicqqqcqoiuahpppplaf``jiqci`uffkfuu``qnnnbnbbnbbnbbbbnbnbnbbbbnbnbnbnnbndqmufkaaahllllppppppplllhaaakkkfufkjrnnddnndrorddnd",
X."lplhhakkfmcjfkffklpgpgpplhkkujmcordnnnnnbbbnbbbbbbnbbbbbbbbbbbbbbbbbnroqqooqodrqmmicjkhpgpglaku`jcroc`j`fkkkff`mdnnnnnbbnbbbnbbbbbnbbnbnbnbbnbnbnnndcjufkaahhlllllplppplllhlhlhafu`fuqdddddnddrordddn",
X."haaaaaahk`cmklhhlpppppllhafujmcoddnnnnbnbnbbbbbbbbbbbbbnbbbbbbbbbnbndrqccooiiqomfu``jukllpplhhkuf`cc`kfufkaakfujonnnnnnbbnbbbnbnbbbnbbbbnbnbbnbnbnndom`uffkaahlhlllllhhlhhhhlllhk``fmrnndddndroqoddnd",
X."laahhlhlhfuukhpllpplpllhafjjmcornnnnbbnnnbbnbnbbbbbbbbbbbbbnbnbbbbnndociqqiju``faakf`ukhllllllhhakffahaakaahaff`onnnnnnbnbnbbbbbnbbbnbnbnbbnbnbnbnnnrcmuuuffkahhhllhaahaaaaahlhlakkuqdnddnnndrqqodndn",
X."pphhlllhhakahllpllpllhhak`jicodnnnnbnbnnnbbbbbbnbbbbbbnbbbbbbbbnbnbnrqimmimuuffkaaafuukahhllppllhhhlllhllhhhakf`cnnnnnnnnbbnbbnbbnbbbnbbbnbbbbnbnbbnndqij``uukkkaahaaaaaakkkahhhhakjrddddnnnnroordnnd",
X."gplahhhhaaahhlhlllhhaaaku`iqodnnnnbnbbnnnnbnbbbbbbbbbbbbbbbbbbnbbbnnocmjj`uuffkaaaakufkahllppppplllppppplllhakf`idnnndnnnnbbnbbnbbnbbbnbnbbnbnbnbnbnbnnrqimj`fffkaaaaaaahaaahaaaakfmdddnnnnndrrordnnn",
X."gphkkahaakaahhahaaaakffujiqodnnnbbnbbbbnnnnbbnbnbnbbbnbbbbbbbbbnnnndqij`uukkkaahlhafufkhhhhlpppggpggggpgppllakf`cdnnddnnnbnbbnbbnbbnbnbbbnbbbnbnbnbnnnnnndoqimj``ufkaahlllllhaakkfucdddnnnnnnrorrrnnn",
X."phf`ufkkfuffkkkkfffuu`jmiqrdnnnbnbbnbbnnndnbbbbbbbbbbbbnbbbbnbbnnnndqij`ukaaaahlhhkfufahhhhlpppggggggggggplhhaf`idrqodnnnnbnbbnbbbbbnbnbnbnbnbnbnbnbnbnnnnnndrqccmjuukaalhplllakkfioddnnnnnndroorrdnn",
X."huim``uu`jmjj````jjjmiicqodnnnbbbnbbbbnndrnnbnbbbbnbbbbbbbbnbbnbnnndqi`ukkaaaahlhakuukhhlhhhppgpgggggggggplhakf`crqmirdnnbnbnbbnbnbbbnbbnbbnbnbnbnbnnnbnbnnnnnndroqcm`fkahhlhlhak`cddnnnnnnnrooorrdnn",
X."a`ijuujmmcqrrqimmiiccqorrdnnnbnbbbnbnbnndrrnbbnbnbbnbbnbbbbbbbndnnndqi`ukaahhhllhafufahlllhllppgggggggggpgphaku`ccjfujmrnnbbbnbbnbnbbbnbnbnbnbnnnnnnnnnbnbnbnnnnnnndrqmufkaaaahakfjqdnnnnnndooqorrddn",
X."lkkakuumqrnnnnrqqqoorrddnnnnbbbnbnbbbbnndoqdnbbbbbbbnbbbbbnbbndcodndoi`fkaahhllllauukhlppplhlpppgggggpggpgphafu`mmukakfcnnbnbbnbbnbnbbbnbnbnbnnnrooornnnnnbnnbbnnnnnnndoi`uffkkffkuidnnnnnnndoqoorrnd",
X."glllafu`crnnnnndrdddnnnnnnnbnbbbbbbnbnbndoconbnbbbbbbnbbnbbbbndmiqddocjukahhllllaku`khlpppllhppgpggggggggpphauuj`jjahaainnbbnbbnbbnbbbbbnbnbnnncicciicdnnnnbnnnnnnnnnnnndocm````uu`irnnnnnnnnnrrrrddd",
X."pgplkuu`crnnnnnnnnnnnnnnnbbbbnbbnbbbbbnndqccdnbbbbbbbbnbbbnbbbriimqdrcmufaalllhhaf`j`khhlhaahlpgggggggpgpplhkf```ufalaamnnbnbnbbnbnbnbnbbnbnnnr``jjmmiqonnnnbnbnbnnnnnnnnnnroqqcimcodnnnnnnnnddrroddd",
X."gpplfjjjcdnnbnbnnnnnnnbbnbnbbbbbbnbbnbnndqqonnbbnbbbnbbbnbbbnbncijirrqm`ukahhlhhafjcqmufumjuahpgggggpgpgpplhkf```fallhkinnbnbbnbnbbnbbbnbnbnnniukkujmjiorrnnnnnnnnnrrrrdnnnnnnddrrdnnnnnnnnnddddoordd",
X."gpphujmiqdnnbnbbnbbbbbnbbbbbnbnbbbbbbnnnndddnnbbbnbbbbbbbbbbbnnom`joroijufkhhhlhaumondqmmqrcualggggpgppgpplhkuu`uklllhfqnnbnbbbnbnbnbnbnbnnbno`faaakffujicqdnnnnnnrqcimicqrdndndddnnnnnnnnnnnddroordd",
X."gplaf`cqrnnbbnbnbnbnbbbnbnbbbbbbnbnbnnnnnnnnnnnbbbnbbbbnbbbnbbnrm``crocjufkaahhhkuioddri``ii`alppggppppppphhku``fhllla`rnnbnbnbnbbnbnbnbnbnnnifkahhhhhakfujcodnnnnrcmj`uuu``mmiccqdnnnnnnbnnnndrrordd",
X."pplkf`qrnnnbnbbbbbnbbnbbbbnbnbnbbbbnbnnnnnndrrnnbbbbnbbbbnbbnbnrijjcrocj`fkaaahhkumcoocj`jimkhpgggpgppppplhaku``khlhhkjdnbnbnbnbbnbbnbnbnbnnofahhhlhahaaahk`mqrnnndcmjuukaaaakfu`jqdnnnnnnnnnnndrrror",
X."plaffucdnnnbbnbnbbbnbbnbbnbnbbbnbnbnnnddnnnnrqdnnbnbbnbbbbnbbbndcmjiooci`ufkaahhaf`qooqiiqocualppgppppplllhafu`ukhlhhkcnnbnbnbbnnbbnbnbnbnndmkhhhhhhaahlllhaf`mqrddomm`ukahhhaku``jonnnnnnnnnnnnnddro",
X."hakkk`qdnnbnbbbbnbnbbbbnbbnbbnbbnbbnnnrdnnnnrcodnbbbbbbbbbbnbbbnqmjjorqimufkaaaakfirddrrrrdrcualpppppllllhaafu`uallhajdnbnbnbnbbnbnbnbnbnnnqfahhlhahhhahlplhakumcodoiijufkhhhkfu```cdnnnnnnnnnrrdnddd",
X."uukak`cdnnbbnbnbbbbnbnbbnbbnbbnbbnbnnnrdnndoqqordnbnbbbbnbbbnbnnrmjjqrqcm`ffkkkkumodddddddddrifahhpllpllhhakf``fhlhhfqnnbbnbnbnbnbbnbnbnnndjkahhhhhhhhhhlplhaak`iqrrcim`ukaaku``u`umrnnnnnnnnnroorrdd",
X."cmfakuirnnnbbnbbnbnbbbnbbbnbnbbnbbnbnnddndrqicooqdnbbnbnbbnbbbbbdcjmcrocm``uffujiqddnnddndnddoi`ukallpplhaaku`juahafcnnnbnbnbnbbnnbnbbnnbnqfkkaahhhhhhhhlpplhaaumcqrqimjufkfu````u`jqnnnnnnnnndrooqoq",
X."qifkfuiodnbnbbnbbnbbnbbnbbbbbnbbnbbnnndodrocmmiiionnbbbbbbbbnbbbndqiqdociju``micoddnnddrddnnndrqmjuahllhhakkujmcj`mqnnnbnbnbnbnbbnbnbnbnnrjfkkaahhlhhhhahllllhhk`cqroiim`ujj`u``jj``cdnnnnnnnndrooqcc",
X."qifkfuiodnnbbnbbbbnbbnbbnbnbnbbbbnbnnnoicqcmj``uumdnnbnbnbnbbbbbbnnnnnoqijjjcorddnnnnnrorddndddroqi`khlhhaaku`qdddnnnnbnbbbnbnbnbnbnnbnnnifkkkaaahhhhlhahlhlhlha`cqorcmjmcocjjj`jmj`irnnnnnnnnnroqcic",
X."qjkkf`irdnbnbnbnbnbnbbnbbnbbbbnbbbnbndqm````ukhhhfinnbbnbbbbbnbnbbnnnnrocmjirnnnnnnnnroqooddddddddoiuahhaaakujqnnnnnbnbbnbnbnbnbnbnbnbnncufakfkahaakaaakaaahhhhaucqooqicodoijj``````jonnnnnnnnnoqcccq",
X."mukkfjqrnnnbbbnbbbnbnbbnbbnbnbbnbnbnndcm`ukahlppla`qnnbbbnbbbbbbnbbbbndocimqdnnnnnnrqm`u``mcoorddddq`ahhaaafumqnnnnbnbnbnbbnbnbnbnbnnnnr`fkkkkkkaaakkakkaahaahlauiqqrocrdrij`ufu`````cdnnnnnnnnrqoodd",
X."kaakumqdnnbnbnbbnbbnbnbbnbbnbnbbnbbbndcj`falpppplhfirnnbbbnbbbbbbbbbnbnrqciqrnddroci`ffkaakkf`jmcorojaahaakf`monnbnbnbnbnbnbnbnbnbnbnndjufkkffkkkkfffkkfkahhhhaaf`cqrrrnrqj`uufffuuu`mrnnnnnnnndrdnnn",
X."hhakumodnnbbnbbnbbnbbbnbbnbbnbnbbnbnnrijukhpppgplhkmonnbnbbnbbnbbbnbbnnrqciicqqim```uuuffkaahhhhk`icukaaakfujmonnnbnbnbnbnbnnbnbnbnbnnmuffufffkffffffffufkahhhaakuiqoddrqmuuuufffuuuumrnnnnnnnnnnnnnn",
X."llaf`ionnnbnbbbbnbbnbnbnbbnbbbbnbbnndoi`uahlpppgpha`qdnnbnbbnbbnbbbbbbndoqcmj``ufffuu`u`ffahllpplhkfkaaakkf`jmqnnnbnbnbnbnbnbnbnbnbnni`uffuffuuuffkffuuffaaaahaaauiqqooijjfuufkkffufujqdnnnnnnnnnnnnr",
X."phaf`irnnbnbnbnbbnbbnbbbnbbnbnbbnbnndqm`falppggpplaucrnnbbnbbnbbnbnbnbnnoqcmj`uukfkfffffkahppplplhaaaaakkfujmmqnnnbnbnbnbnbnnbnbnbnndm``uuuuuu``fuffffuffkaaaaaaaficiimj``uffuffffuuf`cdnnnnnnnnnnnnr",
X."plaf`crnnbbnbnbbbbnbbnbnbbbbnbnbnnnnrcmukhlpgpgpglafmonnnbbnbbnbbbbbbnbnrqiijj`fkkkaakaaahlpglpllhhaaaakfu`jmmcnnnbnbnnbnbnbnnbnbnnnrj`u`uj`uu`uuuuffffuffaaaakkkfjmju`u```ufufffuffuuirdnnnnnnnnnnno",
X."llafjcrnnbnbbbnbnbbnbbbbnbnbbnbnbnndoijukhlpppgppphfjonnnbnbbbbbnbnbnbnndoqim``ufkahhhhhlppgpplllhaaakafu`jmjjidnnnnnbnnbnnnbnnbnnnnojuu`````uuuuuuuufkkkkaaakfffffufffuuu`uufffkfffku`odnnnnnnnnnndo",
X."phaujcrnnnbnbbbbbnbbnbnbnbbnbbnbnnndqm`fahpppgpgpphk`qdnnbnbnbnbbbbbbnbnnroqim``fkahhppplpppgpllhhaakkfu`jmmj`mrnnnnnnnnnnbnnnnnnndnqj`u`u```ujj`u```kkkkakkkkfkkkakkaku`uuuuukkfffkkf`qdnnnnnnnnnnnc",
X."llkf`crnnnbnbnbnbbnbbnbbnbnbnbnnbnnocjukhlpgppgpplhaucrnnnbnbbbnbnbnbbnbndroqimjufkhlllllpppllhhaakkkf``miijuu`odrqiicqrdnnnnnnbnnndqj``u````u``j```ufffffkkfukkkaaaaaakfffuukkkkkfkkf`crnnnnnnnnnndc",
X."lhafjcrnnbnbnbbbnbbbbnbnbbnbnbbnnndqi`fkhppgpgpplahaumonnnbnbnbbnbbbnbbnnndooqcmj`fkhhlhlhllhhakkkfff`miccmuufucrocim`ff`crnnnnnnnddcjj```j``u`jj`uuufkkkkahakfkkakkkkakaaakffffkkfkfuumrnnnnnnnnnndm",
X."lhafjqrnnnbnbbnbbnbnbbbbnbnbnbnbnnocmukalpgpgpgau`fafjqdnnnbnbnnnbnbbnbbnnddrrocmjufkaaaahhhaakkfu``jiqqcm`ukkuirrrooifllhfmqordnnddi`jmjjj`uu`j`uuffkkaaahhhakkaaaakkkkaaakfufufffffu`mrnnnnnnnnnno`",
X."lhaujcrnnnbnbnbbbbbbnbnbbnbbnbnnndoijuahlppgpgpkiq`ak`crnnnnbnndnnbnbbnbnnnnddroqim`uffkkkkkkfu`jiiccqqcm`ukakfmrrrrrculgpplafjqddndimiijj`u`u``uuffkkkkaahhhhaaahaafkkaakkfffuuuuuufuumodnnnnnnnndq`",
X."llaujcrnnnbnbbnbnbnbbbbnbnbnbnbnndqm`fallppgggpkmiukkuirdnnbnndqodnnnnbnnnnnnnddrocimjj```u``jmiqooooqcm`ukaaafmrrorro`lgggggglkjcoroqoqcm`jj`uuffkkkaaakahhaakaahakkkkaaffffkfufuuffff`qdnnnnnnnddiu",
X."plafjcdnnnbnbnbbbbbnbnbbnbbbnbnbnrqj`khlppgpgggpakuuf`modnnnbnoiimmqqodnnnnnnnnnndrroqqcccqcqqorrrooqcm`ukkaaafjrrrdrrmageegegggphfjmicqqqqci```fffkkaakkkkahakkaakakkaaakfffkfffufuuff`cdnnnnnnndrmf",
X."lhaujcrnnnbnbnbnbnbbnbnbbbnbbnbnnrcjfallpgggegggpaummmcodnnnnncj`f`iqqonnnnnnnnnnnnnndddndddddddrroqcmjukaaaaakjrrddrrqupeeeeeeeeegplafujmmicccij```fkkakkaaahhahaaakkaaakkkkkkkkkkfffkfmrnnnnndndoju",
X."lakujqrnnnbnbnbbnbnbnbbnbnbnbnnndqm`falllpgegeggluccm`iodnnnnrjffu`qrrnnnnnnnnnnnnnnnnnnnnnnnnddroqcm`ukhhhhhhkmrrdoorqmhgeeeeeeeeeeegplafuu``jjjjciimj`ufkaahlhhlhakaaaaaaaaakkkakfukkf`cdnddnnddq`u",
X."haf`mcrnnnnbnbnbnbnbnbnbnbnbnbnnrqmukhlppggggggpl`ciufumodnnrmuujjicqrnnnddnnnnnnnnnnnnnnnnnnnddrocm`ukhhhhllhfirdddroockgegeeeeeeeeeeeeghkkujmj`fu`mmiici`fkhhahhlhakaaaakkkaffkakfukkff`qdndndndi`f",
X."haf`mqrnnnbnbnbnbnbnbnbnbnbnnnnnocjukhlpggggggggpaffahk`crdojfkuqorrrnnndrrnnnbnnnnnnnnnnnnndddroqm`faalhllllauorddrcmqcugeeeeeeeeeettteeegphfiijf`j`u``miij`jufkaaaaaakkkfkaafffkffufkff`iddndnndiuu",
X."akf`iqdnnnnnbnbnbnbnbnbnbnbnbnndqcjfkhpppggggggggpplplkuioojfaa`onnnnnnndrornnnnnnnnnnnnnnnnndrqim`fahhlllllhkmrdddrijqq`pgeeeettttttttteeeegpkfaauiqim``uuujiijjufkkakkfffkkkfufkffffffuuqdnnnnnrj`f",
X."aaf`iqrdnnnbnnbnbnbnbnbnbbnbnnndqijuallgpgggggggggpgpphfjijfahaurnnnnnnnrroornnnnbnnnnnnnnndrocm`fkahlhlllllhuqrddrdriqqjleeeettttttttttttettegpplkjjimuffu`j```jcimj`ufuuuffakfkakfuuffujoddnnndq`uk",
X."haf`mcornnnnnbnbnbnnnbnbnbnnnnnrqijualppggggeggggpgpgphkuukhhlhuonnnnnnndoqqordnnnnnnnndroqim`ukahhhllllllllkmoddddddoqqjlgeettttttttttttttttteggplfjjualhfjimj`jjjmmmj`j``ufkffkakfuffff`qdnndnriuuk",
X."hhaf`mcqrdnnnnnnnbnbbnbnbnbnnnnrqi`uahppgpgpggggpppppghakahhllhkcdnnndnnndoqqqrrrrrooqij`ufkaahhhllllpppppla`qdddddnnroomlgeeetttttttttttttttteegplkjiflpphum`mcj`jj````jmjmmjuuuffufffffucdnnddrjffa",
X."hhakf`miqodnnnnnnnnnbnnbnnnnnndrqi`ukhlppgpggpphakkhpplhhllpplhamrdnnnnnnrocqqqooocijufkhlppppppllpplppgpplkirrdddndddromhgeetttttttttttstttstteeplumcjhpplfj`jmukfjmmmjfuumicmmmm```uuffuiddnddq`ukh",
X."hlhakfujmiodnndnnnnnnbnnnnnnndrroijukhppgpgpgphfmiiflgppggppglha`rnnnndddrqqicqooqijukhlpggggpgplpllppgppph`ordrdnnndrromheettttttttttsttttsttttepajccflpphucciuahafimjjffujjjj`jjmmmm````mrdddrc`fkl",
X."llplakkf`iorrrrdnnnnnnnnnnnndrdddqjfahpppgpggphfmqqjhggggeggpplauodndnnnddrocccqqqijukhlppgggpppllpppppgplfqrrddddnddrroiagetttttttttsststttttttepfmiqjapplfiicjkahk`muuaaummjj``uujjmjmmjcrdddriufal",
X."llplhaku`ioqqqornnnnnnnnnddrroonno`falppggggggphuicjhggeeeeggpphfoddnnnndddoqiicqqiijfklpggggpglppppgppplkirrrddnddnrrrrcageettttttttssstttttttteeplk`i`ahk`cci`ahakmm`fhau`j`fummmjm````jiodddrmufhl",
X."lhhaaku`u`ccicqordnnnnnddroqcicorcukahpgpggggggplkfhggeeeeeeggplfcdddnnnnddrqmmicqqcmjualgpgpppplppppgppajordddndddddrrrqageettttttstttstttttttttteegpk```mccccjkhafmmmfhhfj`khaumcciim`u`mqdddo`fkll",
X."gplhakufakmimciqordddddroqcimj`mijufallpgggggggggpggeeeeeeeeggglkcrddnnnnndocmjjicqccijualpppllppppgpppluqrrrdndndddrrddcaeeettttssttttstttttttttttteegllaf`miccuaauiciuhhfjuklhujmufjjukf`idndqufall",
X."eggplahllhujjiicqorrrroqimj``fuum`mmuhppggpgeggggegeeettttteeegpairrrdnnnnrcmj```mcciiimfalllllppppppppajqrrddnnddddrrddchgeetttsssssttstssttsstttttteeeegphaaumjj`mqoq`kaf``klhfmukk``khf``oddiufalp",
X."eggphlppplafujiiqorrocimj`uffkku`mqoikpgpeggeeeeeeeeetttttttttegamrocrnnnnrcmm`uu`mimmicjfkahhlpllppplaumqrddnndndddrdrdilgeetttsssstsststssststsstttteeegpakakakfuioqqiff`imkaaum`ka``aau``odrmfkhlp",
X."egphlpgpgpphaucqodndcmjufffffkaf``icmapggggegeeegegettttttttttephjroicdnnndoqomffu`jmjmcqi`fahlpplplaffjcrddnddddddrddrqjpeeettsssssstsssstststststttttteeepa```kakkfu`jjmcqc`fuic`aa`jkaj``coc`fkhlp",
X."gphhlggggpplakjcrddrmuukkkfj`fkufkkkappggegeegeeeeeettttttttteegh`rrqirnnnnrodq`ufu`j``miijfahlplllkjj`ioddddnddddrdddrckgeetttssssstsssststssstststtttttteeglkuu``ffkkkkk`iiijiqqika`jfaujujqmffallp",
X."hakappgpggpplafjiqcjufkak`mcc``mualppgpggeegeeeeteetttttttetteepl`rdoqrnnnndrdriufuu`uuuu`fkalllhahumjiqddndrddddrrdddojlettttsttssstssststtsstssttttttttttteegphkku`jij`fuffu`icoq`jmi`fjijiqjfkhllp",
X."akfkpggggggllhhk`m`fkkaaajorocqcjalppgggegegeeetttettttttettteegluqrimonnnnnddoqmu```uuffkkaalhau`u`jmqrdddnddddrrrdnroupettttststsssssststsssstssttttttttteeegggllhaf`jmmimuuff`jjjjmij`mm`mc`kahllp",
X."akkhpgggggpgpplhku``fkaafiorooqcjklppggeeeeeettttttttststttttteelfqriujrnnnnndrromii```uffkkkakkfjijicrdddddddddrrdnddofgetttttstssstsssssssssssstttttttsttteeeggpplkfkkkujj`mmjj`ufkkkaakkafmukalppp",
X."lhhpggggggggpgplaffffufkucroqqcmjfhggggeeeteettttttttssttttttttegkidqjuinnnnnnndrqqoiiqccmujmf`ufjjmiodddddddddrrdddddchgeeettttsttsttsssssssstststttttttsttteegggglfjij`uufkkf`miim`u``ffkkkffkalppg",
X."phpggegggggggpplkkhhkuffuioqcimjjflggeeeettttttttttttsssttttettegl`orcj`onnnnnnndrrdoqooqcmqq`mj``micrddddddddrrrddddr`geettttsstttssssssssssssttsstetttsttttteggggphfmqqciijuaaafuuu`j`j`uffffkalppp",
X."plpgggggeggggplfjuhplafakjqm```ufhpgeeetttttttttttttsstttttteeeegpfcroc`mdnnnnnnnndddrdorrcrrqjmjiiioddrdddddddrddddrqagettttsttssssstsststsssssttsttttttttttteegggplhkfmcicqij``uuffkkaaaaafuffapppp",
X."plpgggggggggggamc`hpplaaakfaakkhlgeeeettttttttttttttsssttttttttegpajrrojuqnnnnnnnnnnnnnndnrordroqimqrdrddddrdrrddddro`leeetttttstssssstssstssssststtttttststttegeeggplhauiqqooqoqqoqiimjmj`uuufkhlppg",
X."phpgpgggggpgpgajcjhpgplhallppplpgegeettttttttttttttssssttttsttteegluqdrcu`rnnnnnnnnnnnnndddroqcimmqrrdrddrrrrrdddrrojapggeettttsstssstssssssssstsssttttssststtteggegpllhkjqoooqororoqooooqci`ufkhlpgp",
X."pllgpggggggggppkukpggpglalpggggpgeeetttttttttttstttssssttststtttegpajrdo`uidnnnbnnnnnnndnddrrdqocordrrdddrrdrdddroomaphlpgeetttstsssttsttsttststtssttttsssttttteggegppplhkjqqooooroqqorrooqcjuukhlppp",
X."gplppppggpgggggpppgpggppllpggggppeeetttttttsttsttttsststtssstttteephkqdrjfmqdnnnnbnnnnnndndrrdrocoddrddddrdrdrdroqjhgpauuapeetttttststtsssstsssssssttttsstttttteggeggpplllkmqcqooroqoorrrroq`ffahlppp",
X."eglllhllpggggegggggggggphlpggeggggettttstttstttstttssststststtttegplkjrdiu`qrnnnnnnnnnnnnnnddrdrrdndrrddddrdroroiulggelkfkalgettetttttttsssstssssstttttsstttttttegggggplllhficcorroorroooooc`ukahlpph",
X."ggglhakfflggpgggggggggpglhpgeegpgeetttsststttttttttsstttstttteeeglafumqrcujcodnnnnnbnbnnnnnddrnnnnddrdrddddddromflgegeegggggeeepppggeeettstttttttttttttstttttttteggegpglllplkmcorrooooooqqqi`ffaallla",
X."ggeglk`mmkppgegggpgegggpplpgeeggpeetttsstsstttsttttststttttteeplkjicmumoq`jcorddnnnnnnbnnnnndrnnnnnndddddddndomklpggeeettttttttehf`ukhpgeeeeeeeeeetetttststttttegpggpgppllpgpfmqrrqccoroqoqmuukahlpla",
X."gpggpa`mjflgggggegegegggpllgeeeggetttstsstttttssttttsttteeeeghfjiqcmufucqjmqoorrnnnnbnnnnnnnnnnnnnnnddddddddrckhkfaggettstttttttgfiijualgplhahhlllgeettststststtgpggppgpllggepfjcqmkkmooorqj`ukahllla",
X."ppggglkfu`kpgggggggegggggppeeeeggettttststtttttsttttttteeglhf`jmm`faaakjqmcororrdnnnnnnnnnnnnnnnnnnndddddnddrikaiqjfgttstssstttttlufalgeegh`cciimjaeetttstssstttegggppppllpgeeghkfklhjciqqijufahlllha",
X."ppggeglku`klpggggeggggeggggeteeggettttttsssttsstttttetephkuffahllhlpplhuicqdrrrrrrdnnnnnnnnnnnnnnnnndddddddddr`aujiiltttsssttsttttegeeeeetp`cqqqi`lettttssststttepgpgpppllggeeeglhhhk```jmj`ukahlpllk",
X."pppeeegpkaaahpgegegeggegeeeetteggeettttssssstttsttttephuiuapeetteggppplajcrdddddrrrdddnnnnnnnnnbnnnnndnnddddnncklajjlttttssstsssstttttttttea`m`uapeettttssssttttegggpppllpgeeeegau````jiiijufahhllpha",
X."pppgeegglhhahpggggeeeeggeeetttgggetteettsssttstttteghumciaeeetttteegppplucrddddddorddrddnnnnnnnnnnnnnnnnddrdnnd`llhheettttsssssssttttttststeplpgetttttttssssttteeggpgllhlggetteelkfuj`mici`ufahllllhk",
X."hlppggegplhlpggegegegeegeeetsteggetteeetsssstttteglfjjufkgettttstteggpplkjoddnddddrrrrrrrddddnnnnnnnnnnndrrddndqaggeeettttstssssstttsttsssttttttttttsstssststteeggpgplhhlpgettteelhfmij``jufkalhlllhk",
X."hhppgggegggpggggggeeegegeeetttegpeetegttsssttttega`imapegettssssstteggplafiordndndddrroqodrddddddddnnnddrrrdrdnrjlegeettttstsssssttstssssssststttstssttssssstteegggpphhhpggeettegfmcqcj`uuuukhlllhhak",
X."ahppggeggggpgggegeeeeegeeettttegggttteetttttteepk``fageeeetsssssstteggpphkuiqddnnnndddrrrrrrddddrddnnddrrrdrrdnnofpeeettttstsssstssssssssssststsstsssstsssstttegegpphahppggeetegpuqooqj`fuufkhlllhhkf",
X."khllpgeeeegppgggeeettteeettttteggeetteeetttsteglhlpeeeeeettsssssssteegpglhkj`cnnnnnnndddrdrdddrdddnnddrddddrrdnnnqkggeetttsstsssssssssssssssssstsssssssssssstteeggglaalpgeeetteepfqooqmuufufkhhlhhhaf",
X."`khlpggeeeegggggeettttttttttsttegetttegetttstteeeeetetttettsssssssttegegpphfumdnnnnnnnnnndddddnnnnnddrrdddrrrdnnnniaggeettsssssssssssssssssssstsssssssssssssttteegphhppggggetteegfcoroc`fuffahlllhaaf",
X."qjallpeeeeeggggggeetttttttststteeetttegettsssstttsttttttttssssssssstttegpglkfirdnnnnnnnnnnnnnnnnnnnrrrdddddrddnnnndifpgeettssssssstssssssssssstssssssssssssstttegpphlpggggeeeteegfcoroqjuuufahlllhaau",
X."rq`ahppeeeeegppggeeettttttttsttteeettegettstssssssttttttttsssssssssssteggppaumordnnnnnnnnnnnnnnnnndrrdddndrrrrdddnnnquhgettsssssstsssssssssssssssssssssssststteggplllppgggeeeteepkcoorq``uufalllhhakf",
X."ioifapggeeegephalgeeetttttttsttteettteeettsssssssssststttstssssssssssteeggphumoiirnnnnnnnnnnnnnnndrrddrddrrrooodddnndrmkgettssssssssssssssssssssssssssssssssttepppppppggeggeeeeepkcqooqm`u`fahlhhhaku",
X."`mqjapggteeeglkfkpggeeeettttsttteetttegeessssssssstssstttsssssssssssstteggphfmqc`mrnnnnnnnnnnnnndrrrdddddrrroqqrddndddriupettsssssssssstttssssstssssssssssssteggpgpgpppgggeeeteepkmcoqcmu`ukaallhhafu",
X."u`miklggetegpphfualpggeeettttttttettteegetsssssssstsssstttssssstssssstttegghfjqqjucdnnnnndnnnnnrrordnddndrrrqccorddocorrqupettstttsssssstsssssssssssssssssssttegggppglppgggeeeegpaf`mjm`uuukhhhhhaafu",
X."omjc`hlgeeegplla`jkalggggtttttstttttseegetsssssssssssstttssssssssssststeeggpk`ioqcordnnnnnnnndrrrrdddddddrroqqccrrdif`corqupettststsssssttssssssssssssssssttteggggpppppppggeeeegglaf```uuufahhhhaafuf",
X."dommjalgggepppla`muukhhlpeeeetttttttttegetssssssssssststttsssssssssssttegegpau`iqqccmcdnnnnnrrrrrdndddnnddoqqcccqorjkafmooifgetsssstssstttssssssssssssssststteeeggppppppggeeeeeggggpa``ffukhhhhaakf`a",
X."odqjmfhpgggepppa``mmmmjufhpgeetttttttteeettssssssssststttstsssssssssstttgggphj`uuuuuuuidnndooorddnddddddddqcqciicqquahhkjcqifgetstttssstttsssssssssssssstststteegggpppgpggeeeeeeeeeephkkfuahhlaakfuul",
X."mcrijflggggeggplkkku`mcqi`khpeettttttteeettssstsstsststttssssssssssssstteggpamqcmmmcmumcooqqorddnddddddndocqqiciicmklpllhfmqikettstttssstttstsssssssssssststtteeggpgpgpgggeeeeeggggegghaffahllhaafuup",
X."imccjfhpgggeeggllhlllhfjcqijkpettttttteeettsssssssssssttssssssssssssssstegglamrrrrrrqmmcccqordnnddrdddndrqcqcciimmulggppplfiqmhettstsststttsssssssssssttssttteeggpppppglggeeeegphpggglhkkkhlppplhafkg",
X."oiicjfalpppgeeeglppgggghfmqqmfpeetttttteeettssssssststtttsssssssssssssstteppkcrddddddroroorddnndrrddddddocqqccicmmfpeggpgplficugttssssstttttsssssssttstttteeggpgppllllllpgeeegglkahllhakkalpgggggplpe",
X."driiifahpllpeeepppggegeegaucqifpeettstteeetttssssssssstttssssssssssssstttepluoddddrodnnddddddddrrddrddnrqcqqcciimjageegggephucmhtttsssttttttssssssstttttegppggglakahlllppgeeeega`jukakfkhlgggeeggegge",
X."nnoiiuahhhhlgegggpgeeeeeeglkjcjkpeetsttggetttssssstststttsssssssssssssstegphmodddnronndnndndndrrrddddnnoccqqiiiimjhgeetttegph`cupttststttetstsssssttttephlgegghfukhhhhlpggeeeeeamccj``klggeeeegeeggee",
X."nndci`alhhhlpgggpgeeeeeeeeephf``agettstgpeettsssssststtttssssssssssssstttgpkqrdnddddnnnndndndrrrdndddnnqcqoqiicim`heetttttegpajmaettsttttettsssststtttghpeeeglhhlllhhllpggeeeeehmqqcjfhpegeeeeggegege",
X."ndroiuhllhhhpggpggggeeettteeghauulettttgpeetsssssssststttstssssssssssssttgh`rddnddndndnnddddrrrddddnnndqqqociiiimfleetsssteggpk`uptttstteeetssssstttegpgeeeeeeggppllplppggeeeegp`qcmuklggeeeggggpggge",
X."doqqjuhlpakalpgpgpggeettttteegphukpetttepgetsssstsssttttttssssstssttsttttgfcrdddnddddnnndddrrrdnddndnnrcqoqccmiimkgeettsssteggpf`hetstttegetsssssstegpggeeeeeegggpppppppgpgpgpgpkjufuklpppgpplllllgge",
X."rqqojkhllhaalpgpgpggeeettttttegpafhgeteeggettsssssssssttttssssstsstssttttp`ordddndnnnnndddrrrrddddnnnnocqoqiciiijkgettttststeegpfagtttttegettsssttegggeeeetteegppplllhhakku`j``ufkaakaaaaaakkuuffalpg",
X."rordikahakfalppgppgpeeettttttegegakpeeteppeetsstsssststttttsssssssststttehidrddnnnnnnnnnddrrrddddnnnnrqcqqciiiccjaeettstssstteeghagettsteggetsstttgpgeeetttteegpplhakfjmmjjjiooqiuaakkkffufu`jim`ukhp",
X."qoddcuahakfhppgggppggeettsttsteeelkageeepggetttsssssstttttssssssssssstttekqrddndndnnnnnndrrrrdddndnnnrqcoqiimiic`leetststsssttegghpettsteggettstttgpeeetttttegpphafjmiijualphfmii`aakaaahlpppplhaaahg",
X."qrdnq`khhaflpppggggpggeettssttteegafhgeegpggttsssssssttttttstsssssssttteljrrndnnnnnnnnnndrrddddddnnnnqqoociiiici`leetssssssssteegpletsttepggttstttggeetttttegplafmqoqi`khpgggpplhaahlpppgeeeeeeeegggp",
X."qoddcukhhkklgppggggegggeestssttteglfflgeppgeettststsstttttttsssssstssttehcrdnndnnnnnnnnnnddnndddnnnndcooocicicciupeetsssssststteggpettstegpeetttttegeettstteghkjcqqcmuapgggggeeggllppgpgggegeeeeeeeee",
X."iqqqiukhafflgppgggegeggeetsssttttghk`kpeglpeetssssststeetttststssssttttgkcddnnnnnnnnnnnnnndnnndddnnnocooqciicciikgeetsssssssssteeegettstegggettteegeetttttega`iqijukhlpeeeeteeglllpgpggpgggeeeteeeeet",
X."ccccmfaaaufpgpppgggeegeeetsssttttehf``hgplpgetssststtteetttssstssststtepucddnnnnnnnnnnnnnnnnndnnnnndqqoocciimicmaeeetssssssssssttegettsttepgettteegeettttelficc`kahlpgggeetteepkallppggppgggeetteettt",
X."rrroc`kkakhppgpppgeeeegeettststttepkji`hghlggtsssststteettsssssssstttegajcodnnnnnnnnnnnnnnnnnnnnnnnoccoqciimimcjheettsssssssssssteeetttttggpettteggetttepkjqcmfallppgggetttttgkufkahhlllhhlggeeeetttt",
X."dnddq`kaaapgpgpgpggeeeeeettsstttttelfcculhapgetstsststeetttststssssttepumiqrnnnnnnnnnnnnnnnnnnnnnndqcqoqcmimmmc`lgettssssstssssstteeettttepggttteeeettepfiqcjkallpggggeettttepfjjuukkkahakahhlggggeee",
X."dddoomkahlggpgggggggeeetttssststtttgluqiahhpgeetstsstteettssstssststeghjiicrdnnnnnnnnnnnnndnnnnndnrqcqocciimmicupeettsssststsssssteeetttteppeettegeetelfiijfahhhppppgeeetttteh`mm`falpgggpplhaahlggee",
X."ooqcciuhhpgggggggggeettststsstsstttepamckhalggettttssteetttttssststteguccicqdnnnnnnnnbnndddnnnndddoccqoiciimmiikpgtttssssssssssssstettttteppgetegpeeepf`ukhllllppllppgeetttegau`fapppgggeeegegplllppg",
X."cqqciqmkppegeggeegeettsttsttstssstttglumkhalpeettssssteetttttsssststelmqqcccdnnnnnnnnnnnddnnnndrdrqcqqqciiiiicmhgettsssssssssssssstttttttepggeeelgeegpaahpggpppgppppggeeettegafkhpppppggegeeeeeegggge",
X."iorqciikpggeeeeeeeeeettstststssssstttpauklalpeetttsstteetttttttststteacoqqqcodnnnnnnbnnnnnnnndroroccqqcccccciqjhgettsssstssssssssstttttttegppgegheegggpggggppgpppllppgeeettegafaahllhhlpgeeeeeeeeeeee",
X."`qrocimkggeeeeeettttttststsssssssssstelkhphlpgeetttstteeetttsssssttep`orooocqonnndnnnnnnnnnndrrrrqccqqcciccqcculeetssssssssssssssssttttsteppggelleeeggeggggppppplllpgggeeeeghf`ffkkkfkfklpgeeeeeeettt",
X."jcrrcjuhgeeeeetttttttttststtssssssssteglpplhlgeetttttegeettttttsttteacdrroroqcqoqqcodnnnbnnnrrdrocccqqcccccccifpetttsssssssststtststtttttegppgglpeeeeeeeegpgppllhhlpggeeeeelk`mjj``jjmm`fhppggeeeeett",
X."jmqocuagggegettttettttttsttsssssssstttgppphahpeettttteggeetttttttttgurdrrdrrociciiiqonnnnndrdrdoqccqooccccciijagetttsssssssttglgtssttttttegppgeggeeeetteeggpgpllhlpgggeeetelfmiimjj`j`uukaahppgggeeee",
X."jumccjhgeegettttttttttttstssssssssssttepgghaapgetttttegeeettttttttehidrrooorrqiiicicodnddrrroroqcccqoqqcqcqccjhetttsssssssstegpgtsttttstttepppgeeetettttegggppllllpggeeetttgkk`fahlpppppeggpllllpggee",
X."mumcijlpeeeeettttttttsttsssssssstsssttegpphkalgeettttgggeetttttttegacrrqqoqooqciciccqdrrrrrrooqccccqoqcccqqqcmlettttsssssststttetsttttsttteppgggeetttttteggpgplllpppggeetttephfkalpgpppgeeeeeegplpgeg",
X."m`jcmkpeeegettttttttstssstsssssssssstsegpphfklgeetttteggeeeeeggeeepforooqqqqqqcicicccoororrrrooqcccoocciicccq`leettssssssssteeeettsttttsttepppgpetttttteggpgppllllppppgeeeeepkuufaahlhlpggeeeeeeeeeee",
X."ijmiuhgeeeettttttttsttsttstssssssssssttggpaufapeeetteggeeeeelkageghmoroqqqcqccciciiccqooorrrrroqccqoqmjjmmiqcfgeettsstsssssstegetsttttttttegplpgeetttteegppppllhlplppppgeeeega`jmjjuuffapgggeeeetttee",
X."jj`jupgeeeetttttsttsstststtssssssssssttegphuuapeeetteeggeeeghkhpegkqrroqcccqcqccciccqorooorrroqqccqoqiiimmiciaeettstsssssssststssttttttttteglllgeeetttegggppllhlllllppggeeeeepkioroocimualpggeeeeettt",
X."ujjmfpeeeetttstsstsssststsssssttststtttegphfuapgeetttgggeeglkfhggpuorqqcqcqqqqqqcccqqorqccorrrcqccqoqiiiiicq`letttsstssssssssssssstttttttteglhlggeteteeggpgppllhllllpppgeeeeeehcrdddddoc`falpggeeeeee",
X."uicifpeeetttssstssssstststsssssssstssttegphkuklggettegggeggauuageljorqqqoorrrooqqcccroqmu`moroqqcqorqcccccqcugettsstssssssssssssstttttttttegplhpettteeegggpllhhhhllppppgeetteghmcqqoddddrcjuapgggggeg",
X."umqckggettttsstssssssststsssssssssssttteglafuklgeetteepegeegllgggacrrqqqqqooroooroqqrqq`kauqooqcqqrrqiiiiqocaeettsssssssssssssssstttttttttegplhgetttteegppplhhahhlppgppgeeettea`mjjmiqrddddomuklppppp",
X."iiocageetttttssstssststssssssssstsssssttelaf`khpeeetegpgeggeeeeepfodrrrrrrrddddddroorqqiufjqqqcccorrqcccqqojpeetttstsstssssstsstttettttttttepllpettteegggllhhahhhlpppppgeettegfu`uuu`jioddndrcjfahhak",
X."qcrjhggeeettttttttststtssssssssstsssstseglafufapgeetegpggeeeeeeglmrdddrrroorroorrrddoqqqcicqoqciqorrcccccoofgeetttssssstsssssstssttttttttttegllgeetteeggpplhhhhhhpppgpggeeeeepkfuuuuuu`iodndoi`ufakfj",
X."oooupgeeeeeeetttttttsttsssssssssssssssteglkuufapgeetegpgggeeeeggacrddrrrrrrrrqqordddoqqqqqoorqccqorrqqooorchgetttssssssssssstststttttttttttepllpeeteeeggpllhaahlllpggpggeeeeglkuufuuffk`iodnrc`uffujc",
X."ddcaggeetetttttttttttttstsssssssssssssteglaffkalgeetegpggeeeeeegfoddrrroorrddrrrrnddoooooqooooccqrdrqqqorojpeetttsssssssssssststteeetttttttepllggeeeeggglhhhaahhlpgpgggeeeeeghkuufuufkkf`irddocm``jiq",
X."nnmlgegeetttettettttttttstssssssssssstttelafkkalggeeegppggeeeeel`rddrdrrrrddddrddnnroooqoqqqoqcqorrocqqodqfgetttttsssssssssssssttteetttttteepllpeeeegepplhhhahhllppgggeeeeegpafuffuffkkfujqdroqcimiiq",
X."nrulggeeeeeeeeeeeeeeetttttsssstsssssssteglkkaaalpegeepppgeeeeeghcdndrrrrrrddddrdnndroooqqqqqqqqorrroiiqqrmheettttstsssssssssssstteeettttteeglhhlggegegpplhaaaahllpgggeeeegegpkfuuuuuufffu`crroqcmmicc",
X."dcaggegegeggggggeeggeeeettttssssstssstteglaahaalggeeggppgeeeeegfonndddddddndddddnndooqqqqqqqqqqrrdrqiiqoougeetttttstssststsssstttteetttttteglhhlgeeegpglhaaaaahlpppgggegeeeghkf``u`uuffuu`croqqimmcci",
X."q`pggggeggeggegggggggggeeetttsssssssstteglaahhahpggegpppggeeeep`dnndddrdrddddddnnnrqoqqqcqcccqorrrroccqocagettttsssssssststssstttttttttttteglhalgeegggllhaaaahhlppgggggeeeegaku`uuuuufuuumcrqqqcccqqi",
X."uappgeeegegegeggegeggggggeeettttstttsttgplaahhahpgeeepppggeeeglmdnnnddddddnndddnnnroqqqccccciqrrrroroorrmhettttstssssssstsssssteeettttttteeplhalgegggplhaaaaahhppppggggeeegpakfuu``uuuu``iqooqooorooj",
X."apggegegegeeeeeeeeeggeeeeeeeetttstssttegplhahlahpggggppppggegehinnndddddndndddnnndoooqcqcqcciqrrooooordr`pettttttsssssssssssstteeettttttteephhaalgggplhhaaaahhlppppgpgegeeglkkuuuuuuuuu`jiqroorrddrif",
X."lpggggeegeeeetttttttttteeeeeettttsssttegllaahphhpggegpllpgegeghqnnnnddddnnnddnnnnrqqqqcccciccooooqqqqqrofgeettttstssssssssstttteeetttttttteglaaahgpplhhhaaahhhpllppgggeegepakfuuu`ffuuuujiorrrddddo`a",
X."pggeeegeeeeettttttttttstttttttttttssttepplahhlhhlpgggpplpggeegfrnnnddddnnnndnnnndocqccccccccqoqqqqqqqorqageettttttssssssssssttteettttttttteghhaaallllhhaakahhhlhllpggggeeplkfuuuuufffuuujcrrddddndckh",
X."gpgegeeeeetttttsttsssssssttttttttttsttepphhalpphpgpggplllgeegpurnnnndddnnnnddnnndoqqcqcqqcciqqqqqqqqoorihgeetttttstststssssttteeettttttttteglakaahllhaaaakahhhaakhpgggegplakfuuu`uuuuuuujcrrddddddika",
X."gggeeettttttttstsstssstsssttttttttsttegpplaahllllpgggplhlpeeepudnnnndnnnnnnnnnndddrroroooqqcqqqqqqqqqrrmlgeetttttsstsssssssttteeeetttttttteglaakahlhhaaaaahhhakffapggggplakffuu`u`uu````jqrrdddnddjka",
X."ggggeetttttttssststssssssssttstttttstegplhaahhlhppggpllhhpgeepfrnnnddddddnnnnndnnnnnnnndddddrooqqqqqqorjleeetttttststsssssstteeeetttttttteeglaakkhhhaaaaaahhaakfkalggpplhakfuuuu`uuuu```morddddnddjka",
X."ggeeettttttttstsststssssssssssssttstegpphaahhlllhppgpllahpeeggfrnnnnnnndndnnnddnnnnnnnnnnnnnnrqqqqcqqqqulgeettttstststssststteeeeettttttteeglaakkhlhaaahhhaakkfkkalpplhahafuu`fuuuuu`u``crdddddndd`ka",
X."eeeettttttttstststssssstsstssssttsttegpplhhhlllhlppppllhlpgeggkonnndddndndnddddnnnnnnnnnnnnnnnrqqqqqccqulggtttsttsttttsststtteeeetttetttteeghakkkahhaahhaaakfffkkhpplhaaakfu`uuu`uuu`u`mcddddndnno`ka",
X."eeeetttttsttsstsssssstsssstsssssttteegppphhlllphhlpgpplllpggeghqnnnnnnnnnnndddnnnnnnnnnnnbnnnnndoqqccccuhggetttsstssstssststeeeeeetttttttteghaaffkhahhhaaakfufffahlphaaaakff`uuuuu`uu`jmoddddnnnnqfaa",
X."eeeettttttsststtsssssstststsssstttepggpplhllllllhlpgplllllgpgghcnnnnnnnnnnddndnnnnnnnnnnnnbnbnnndrqqcccjapeetttttstsssssttstegeeeeetttttteeplakkfkahhphhakfuuuufahplakaaafuuuufuuuuuu`jirdddndnndifaa",
X."egeeeeeettttstssssssststssstssttegpppgpplhlppllhllppppllhlpggglinnnnnnnnddddnnnnnnnnnnnnnnnbnbnnndrqqcqmkpeettttttssssststteeeeeeettttttteeglaakffahllhakuu`uuukahlhkkkaafuu`uuu`ufu`jjcrddndnnndmkkk",
X."eegeeeeeeettsstssstssststttstttepllppgpplhlppplhhlpplllhalggggp`ddddrdrrddndnnnnnnnnnnnnnnnnbnbnnndrroqculgtttsttstsssssttteeeeettetttttteeglaakffaahhakf`uuuufkalhhkkkakuu``u``uuu``jiqdndndnnnoukkk",
X."egeegegegettststtssssstststteegplhlpgppplllpppllhllplllhhhppeep`rdrrordddnnnnnnnnnnnnnnnnnbnbnbnbnnndrromheetttsttsssssttteegeetteeettteteegphakuuaaaakfuu`uuufkahhakkkafu```uuu`u`ujmirdddddnndcfkaa",
X."eggeeeeeetttsstsstssstttsttteggplhlllppppppgpppllplllhllhhpgggpfqooorddnnnnnnnnnnndddddnnbnbbbnbnnnnndddiageettttssttsttttegeeetteeeeteeeeggphkkffkaakffuuufuufkaaaakkkkfu````uuuuu``mcrddndndndikkaa",
X."egegeeetttttststsststtttstttegggplllhhhppppppgppllllhhllahlpgggfqooddnnnnnnnnnnnnddrorccrnnnnnbnbbnnnnndqkggettttttststtteeeeeetteetttteegeppakkfufkkkffuuuuuuukaakkkkkkuu```uu`uuu`jmqrdddndnnnckaaa",
X."eeeeetttttttttttttsssstttteeegggggllakkllpplplpllhlhhllhhhpgggp`oddnnnnnnnnnnnnnnddddq``modnnnnbnbbnnnnnokpeeettttttsttttegeeetteettteteeggplafkkffkkfuuuuufuufaaaaakkkf`````uufuuu`jiorddddnnndckahh",
X."eeeettttteeeeeetttttsttttteegeeeggphk`fhpplpplpphhhhhhllhhlgggljrdnnnnnnnnnnnnnnnnnddojuirdnnnnnbnbbnnnnofpgeettttttttttegggeteeeeeeeeeegggphakffufkkffuuuuuuufaaakkkkff`uj`uuuffff`jcrddddndnndifaah",
X."teeeeeeeeeteeeetttttttttsttteeeeegglfjuhlppppppphhaaahlhhhlpggljddnnnnnnnnnnnnnnnnnndnoqorddddnnnnnbbbnnrfpgettttttttsttepgeeeeeeeeeeeggggpphafffufkkfuuuu`u`ukaakkkkff`u`j``uffffu`jqrddddnnnndmaaaa",
X."tteeeeetttttttttttttttttssttteteegglfmuapppppppphhhahlllhhllpgljdnnnnnbnbnbnbnbbnnrdrdrrorooqqornnnbnbnnrfleetttttttttteggpeeeeeeeeeegeggpglhafffuuakfuuuu`uufkaaakkkku```j`uuffffu`iqrddddndnnojaaaa",
X."ttttttttttttttttttttttttttsttttteeglk``allplplpplhhhhhllhhlppgp`dnnnnnnnnbnnbnbnbnooqccccccccqqrdnnnbnbndupgettttttttttegggeeeeeegeegegggpplakuukffkkfu`u`u`ufaaakkkkfu```j``uffkfu`iodddddnnnno`akkk",
X."tttttttttttttttttttttttttttttsttteeglkfahllllllplhhhhhhlhhhpggp`dnnnnnnnnbnbnbnbnnocciiiiiiccqqordnnnbnnrupeettttttttttegggeeeeeeeeeegggpplhafuuffffku`uu``uufaaaakkffu`uj``uuufffu`iodrdnnnnndqfkkfk",
X."ettttttsttttttttstttttttttttststttteghaahhhlhllllhaaahhlhhlpggljdnnnnnnnnnbnbnbnbnrqqcciiciicqcoordnnnbndupgettttttttteeggeeeeeeeeeeggpplhaakf`ufkfukuu``j``ufaaakkkffu````uuuuukff`ioddddnnnndcfkfff",
X."eetttttsttstttttstttstttttttsststtteephahhhahhllhaaaaahlhahpggljnnnnnnnbnbnnnbnbnndooqqccccccccqqornnnnndupeeetttttttteeeeeeeeeeeeegegplhhakku``fkf`u``````uukaaakkfff``````ufufffujcodnddndnndcfkfff",
X."eeetttttttttststtttsstsstttttsttttteeglaaaaahlhlhaaaaahlhaalpgp`dnnnnnnnnnnnnnnnnndrroqcqcqccccqoqrdnnnnd`pgetttttttttteeeeetteeegeggpphhakkfu``fkfjjjjj``uuukaakkfkfu````u`uuufuu`mcrddnnnnnndiukffu",
X."eeettttttstttststtstststsstststtttttephakaaahlllhaaaaaahhaaalppfonnnnnnnddrddnnnnndoqqcccccccccqoqrdnnnnd`leettttttttteeettttteegegggpphaakkf```fkfmciijj``ufkaakkkffu``jj`u`fufu`mcoddndnnnnndiukfuu",
X."eetttttttsttsssstststttstttsstssttteglkffkkahlllhhaaaaahhaaalppkqrdddroooqoornnnnndocccqcqqccqqcoqornnnnd`lgeettttttteeettttteeegegggglhakkuu`jjuffjrdqij``ufkakkkfffu``jjj``uuujjiorddndnnnnndmukfuu",
X."ttttttttststtstsssstttttttttststtteepajjufkaalllhhaaakahhhaahplaiooqiicicqorrdnnnndocqcqqoqqqqqqoqordnnndjlgeeeettttteetttttteegeegeggplakfu``jjuffjondocjuufkakfkkkf`jjjjj``uu``mcodndnnnnnnnrjfkfu`",
X."ttttstsststtstssssststtttettttttttegl`oi`fkahhllhaaaaaahlakaallhumjukkkafmcoorrdnnnoqqqqcoqqqqcqqoqodnnnr`leeeettttteeetttttteeeeeeggpphakfu`jjj`fu`onnnrcjufkkfffkkujjmjjj```u``mcodnnnnnnnnnrjkkfu`",
X."ttttstststtststsssssstteegeettttteegkcdc`ukaahhhaaaaaakahhakahhhaahlggggglaujccqoddrooqoqqqqqccqcoqodnndr`lgeeeettttteetttttteegeeeegpglhkf``jjjjjjionnnndqjuffuffkku``mjj`j``u``mcrnnnnnnnnnnoukkf`m",
X."ttttssssststttttstssstteegpggegegggpurnqjukaahhhakaaakahlhaakahhhllggeeeeggplkujqddroqooqqqqcqqoqooorndnrmlgeeeetttteetttsttteeeegeggpllakf`jmmmmmcornnnnnnri`u`ufkf``jmmj`j`uu``mcrnnnnnnnnnnqfkfujc",
X."ttttttssstttttttttsssttteepppppgggpljdnrmufahhhaaaaaaakhlhakkkhllppggeeeeegeggphfcddooooqqqqqoororrrdndnrmlggeeetttteetttttteegggegggphakf`jmiiccmiodnnnnnnndcmjjukf``mmmjjj`uuu`jcrnnnnnnnnnncfkf`mr",
X."ttttttsssststtttssstssttteegpplpggghcnndq`ukahhaakkaaakallkkkfkappgggeeegeegeggglkmororqqcqqqooroorrdnnnrjlpggggeeeeeettttttegggggpgplakf`jmiqqooqodddddndnnndcim`fujjmmimjjuuuu`mcdnnnnnnnnnnmkkf`on",
X."tttttsssstssssssstsststttttegppppgpkonnnrm`faahakakkaaaahlkffffkhppggpgegggggppgphfcroqooqoqoqoooorrnnnnd`hlkfuheeeeettttttteegggppplakf`jicqorddnndrdndrrrdndqccm``jmiimmjjuuuujmqdnnnnnbnnnd`kk`cdn",
X."ttttttttttststssssssststttteeegppgl`dnnndqjukahakkkkkkkaalauffffkhhppggggpgpppppplkmqoorrrrrrorrdrdddddrquhfjumjlggeeettttteegggppplakujmiorrdnnnnnnddddrrorddoqqimmmmimjmj`uuu`jmqnnnnnnnbnnoukfidnn",
X."ttttttttsststtsssstssststttteeggpphinnnnnri`fahakkfffkkkahauuufufkkalllpplppplppplk`ordndnnnnnnnnndcmjj`ualu`ku`hgggeeeetteeggppphhaf`miqoddnnnnnnnnndddrooordddoqiijmimjjj`uuu`jmonnnnnnnnnnjfkjrnnn",
X."ttttttttttstttstsssstsststtttteegpacnnnbnnqjfaaakfufffkkkaaf``uuuuufkaaaahlllhlllhfionnnnnnnbnbnnnq`ffkfkhpaukakpgggeegeegggpplhakfumiqrdnnnnnbnbnnnnnddrooorrnddqcmjimmjjj``uu`mionnnnnnnnnr`f`qnnnn",
X."ttttttttttttsstttttssssstttttteegpkqnnnnnndiukaffu`uuuuuukak`j``jj``uuuffkaaaaaafumodnnnbnbbnbbnbnnc`kkkahgphaalgpppppgpppllhakfujmcornnnnnbnbnbnbnnnddrroooordndcimmimjmj``u`u`jcrnnnnnnnnncu`onnnnn"
X.};
SHARC_EOF
if [ 45339 -ne `wc -c < andy.xpm` ]
then echo "$0: transmit error 'andy.xpm' (should have been 45339 chars)"
fi
fi # end of overwriting check
--
        **                   /   \                   **
     ** **                  |     |                  **
     ** ** **                \___/                   ** **
     ********                                        ** **
      ******         __                  **          ****
        **        \_/oo\_/              ****         **
.......**..........\||/................****.........**...........
Andy Cowan...........||...........andrew_cowan@chdasic.sps.mot.com
Newsgroups: comp.windows.x.motif